Pular para o conteúdo principal

Serviço de Perfil Firefox

Você deseja executar seu navegador Firefox com uma extensão específica ou precisa definir algumas preferências? O Selenium permite que você use um perfil para o navegador Firefox passando esse perfil como uma string base64 para a propriedade moz:firefoxOptions.profile em suas capacidades desejadas. Isso requer a construção desse perfil e sua conversão em base64. Este serviço para o wdio testrunner tira de suas mãos o trabalho de compilar o perfil e permite que você defina confortavelmente suas opções desejadas a partir do arquivo wdio.conf.js.

Para encontrar todas as opções possíveis, abra about:config em seu navegador Firefox ou visite o site mozillaZine para encontrar toda a documentação sobre cada configuração. Além disso, você pode definir extensões compiladas (como *.xpi) do Firefox que devem ser instaladas antes do início do teste.

Instalação

A maneira mais fácil é manter o @wdio/firefox-profile-service como uma devDependency em seu package.json, via:

npm install @wdio/firefox-profile-service --save-dev

Instruções sobre como instalar o WebdriverIO podem ser encontradas aqui.

Configuração

Configure seu perfil adicionando o serviço firefox-profile à sua lista de serviços. Em seguida, defina suas configurações na propriedade firefoxProfile desta forma:

// wdio.conf.js
export const config = {
// ...
services: [
['firefox-profile', {
extensions: [
'/path/to/extensionA.xpi', // caminho para o arquivo .xpi
'/path/to/extensionB' // ou caminho para a extensão Firefox descompactada
],
'xpinstall.signatures.required': false,
'browser.startup.homepage': 'https://webdriver.io',
legacy: true // use apenas para firefox <= 55
}]
],
// ...
};

Se você criou uma extensão personalizada do Firefox que deseja instalar no navegador, certifique-se de definir 'xpinstall.signatures.required': false como uma flag de perfil, pois as extensões do Firefox precisam ser assinadas pela Mozilla.

Para usar extensões personalizadas não assinadas, você também precisará usar o Firefox Developer Edition já que o Firefox regular 48 e mais recentes não permitem isso.

Opções

Contém todas as configurações como pares de chave-valor. Você pode encontrar todas as configurações disponíveis na página about:config.

extensions

Adicione uma ou várias extensões à sessão do navegador. Todas as entradas podem ser um caminho absoluto para o arquivo .xpi ou o caminho para um diretório de extensão Firefox descompactado.

Tipo: String[]
Padrão: []

profileDirectory

Crie um perfil Firefox baseado em um existente definindo um caminho absoluto para esse perfil.

Tipo: String
Padrão: null

proxy

Defina as configurações de proxy de rede. O parâmetro proxy é um hash cuja estrutura depende do valor da chave obrigatória proxyType, que assume um dos seguintes valores de string:

  • direct - conexão direta (sem proxy)
  • system - usar configurações de proxy do sistema operacional
  • pac - usar uma configuração de proxy automática baseada no valor da chave autoconfigUrl
  • manual - configurações de proxy manuais definidas separadamente para diferentes protocolos usando valores das seguintes chaves: ftpProxy, httpProxy, sslProxy, socksProxy

Tipo: Object
Padrão: null
Exemplo:

  • Proxy Automático:

    // wdio.conf.js
    export const config = {
    // ...
    services: [
    ['firefox-profile', {
    proxy: {
    proxyType: 'pac',
    autoconfigUrl: 'http://myserver/proxy.pac'
    }
    }]
    ],
    // ...
    };
  • Proxy HTTP Manual:

    // wdio.conf.js
    export const config = {
    // ...
    services: [
    ['firefox-profile', {
    proxy: {
    proxyType: 'manual',
    httpProxy: '127.0.0.1:8080'
    }
    }]
    ],
    // ...
    };
  • Proxy HTTP e HTTPS Manual:

    // wdio.conf.js
    export const config = {
    // ...
    services: [
    ['firefox-profile', {
    proxy: {
    proxyType: 'manual',
    httpProxy: '127.0.0.1:8080',
    sslProxy: '127.0.0.1:8080'
    }
    }]
    ],
    // ...
    };

legacy

Por favor, defina esta flag como true se você usar o Firefox v55 ou inferior.

Tipo: Boolean
Padrão: false


Para mais informações sobre o WebdriverIO, consulte a página inicial.

Welcome! How can I help?

WebdriverIO AI Copilot