Serviço LambdaTest
wdio-lambdatest-service is a 3rd party package, for more information please see GitHub | npm
Um serviço WebdriverIO que gerencia túnel e metadados de trabalho para usuários do LambdaTest.
Instalação
npm i wdio-lambdatest-service --save-dev
Instruções sobre como instalar o WebdriverIO
podem ser encontradas aqui.
Configuração
WebdriverIO tem suporte para LambdaTest integrado. Você deve simplesmente definir user
e key
no seu arquivo wdio.conf.js
. Para ativar o recurso para automação de aplicativos, defina product: 'appAutomation'
no seu arquivo wdio.conf.js
. Este plugin de serviço fornece suporte para LambdaTest Tunnel. Defina também tunnel: true
para ativar este recurso.
// wdio.conf.js
exports.config = {
// ...
user: process.env.LT_USERNAME,
key: process.env.LT_ACCESS_KEY,
logFile : './logDir/api.log',
product : 'appAutomation',
services: [
['lambdatest', {
tunnel: true
}]
],
// ...
};
Para obter observações de erro de teste no painel de automação
Para obter observações de erro de teste no painel de automação, simplesmente adicione ltErrorRemark: true
no seu wdio.conf.js
.
Para fazer upload de aplicativo localmente ou por URL
Faça upload de aplicativos android
ou ios
a partir de URL local ou hospedada adicionando esta configuração necessária em seu wdio.conf.js
. Para usar o aplicativo carregado para testes junto na mesma execução, defina enableCapability = true
, isso definirá o valor da URL do aplicativo nas capacidades.
// wdio.conf.js
services: [
[
"lambdatest",
{
tunnel: true,
app_upload: true,
app:{
app_name : "xyz", //provide your desired app name
app_path : "/path/to/your/app/file", //provide the local app location
// or
app_url : "https://example.test_android.apk", //provide the url where your app is horsted or stored
custom_id : "12345", //provide your desired custom id
enableCapability : true
}
}
]
]
Opções
Para se autenticar no serviço LambdaTest, sua configuração precisa conter as opções user
e key
.
tunnel
Defina como true para permitir o roteamento de conexões da nuvem LambdaTest através do seu computador. Você também precisará definir tunnel
como true nas capacidades do navegador.
Tipo: Boolean
Padrão: false
lambdatestOpts
Opções especificadas serão passadas para o LambdaTest Tunnel.
Tipo: Object
Padrão: {}
A seguir está uma lista completa de todas as opções disponíveis:
tunnelName
Especifica o nome personalizado do LambdaTest Tunnel a ser usado.
Exemplo:
{"tunnelName": "my_custom_tunnel"}
port
Porta para o LambdaTest Tunnel ativar.
Exemplo:
{"port": 33000}
user
Nome de usuário do LambdaTest.
Exemplo:
{"user": "your_username"}
key
Chave de acesso do LambdaTest.
Exemplo:
{"key": "your_access_key"}
verbose
Se cada solicitação de proxy deve ser registrada no stdout.
Exemplo:
{"verbose": true}
logFile
Localização do arquivo de log do LambdaTest Tunnel.
Exemplo:
{"logFile": "/path/to/log/file"}
config
Caminho do arquivo de configuração a ser usado. Exemplo:
{"config": "/path/to/config/file"}
dir
Especifique o diretório local que será servido por um servidor de arquivos na porta do Tunnel.
Exemplo:
{"dir": "/path/to/local/directory"}
proxyHost
Especifica o nome do host da porta do proxy do Tunnel.
Exemplo:
{"proxyHost": "proxy.example.com"}
proxyUser
Especifica o nome de usuário da porta do proxy do Tunnel.
Exemplo:
{"proxyUser": "your_proxy_username"}
proxyPass
Especifica a senha da porta do proxy do Tunnel.
Exemplo:
{"proxyPass": "your_proxy_password"}
proxyPort
Especifica o número da porta onde o proxy do Tunnel será ativado.
Exemplo:
{"proxyPort": 8080}
egressOnly
Usa configurações de proxy apenas para solicitações de saída.
Exemplo:
{"egressOnly": true}
ingressOnly
Roteia apenas o tráfego de entrada via proxy especificado.
Exemplo:
{"ingressOnly": true}
pacfile
Para usar PAC (Proxy Auto-Configuration) em testes locais, forneça o caminho de um arquivo PAC.
Exemplo:
{"pacfile": "/path/to/pacfile"}
loadBalanced
Ativa o Balanceamento de Carga para o LambdaTest Tunnel.
Exemplo:
{"loadBalanced": true}
mode
Especifica em qual modo o túnel deve ser executado "ssh" ou "ws". (padrão "ssh").
Exemplo:
{"mode": "ssh"}
sshConnType
Especifique o tipo de conexão ssh (over_22, over_443, over_ws). Para usar –sshConnType, especifique a flag ––mode ssh primeiro.
Exemplo:
{"sshConnType": "over_22"}
maxSSHConnections
Aumente a conexão SSH do Cliente Tunnel para o Servidor Tunnel. O valor máximo permitido é 30.
Exemplo:
{"maxSSHConnections": 2}
sharedTunnel
Compartilhamento do Tunnel entre membros da equipe.
Exemplo:
{"sharedTunnel": true}
env
O ambiente no qual o LambdaTest Tunnel será executado.
Exemplo:
{"env": "production"}
infoAPIPort
Expõe a API de Informações do Tunnel na porta especificada.
Exemplo:
{"infoAPIPort": 8080}
callbackURL
URL de retorno para o status do túnel.
Exemplo:
{"callbackURL": "https://example.com/callback"}
allowHosts
Lista separada por vírgulas de hosts para rotear via túnel. Todo o resto será roteado pela Internet.
Exemplo:
{"allowHosts": "example.com,anotherexample.com"}
bypassHosts
Lista separada por vírgulas de hosts para contornar pelo túnel. Estes serão roteados pela internet.
Exemplo:
{"bypassHosts": "example.com,anotherexample.com"}
clientCert
Caminho do arquivo de Certificado de Cliente mTLS.
Exemplo:
{"clientCert": "/path/to/client_certificate"}
clientKey
Caminho do arquivo de Chave do Cliente mTLS.
Exemplo:
{"clientKey": "/path/to/client_key"}
mTLSHosts
Lista separada por vírgulas de hosts mTLS.
Exemplo:
{"mTLSHosts": "example.com,anotherexample.com"}
dns
Lista separada por vírgulas de Servidores DNS.
Exemplo:
{"dns": "8.8.8.8,8.8.4.4"}
mitm
Ative o modo MITM (Man-in-the-middle) para o LambdaTest Tunnel.
Exemplo:
{"mitm": true}
ntlm
Para usar a autenticação Microsoft NTLM (Windows NT LAN Manager) para fins de comunicação ou transporte.
Exemplo:
{"ntlm": true}
pidfile
Caminho do arquivo pid, onde o ID do processo será escrito.
Exemplo:
{"pidfile": "/path/to/pidfile"}
usePrivateIp
Define o endereço remoto para um IP interno da máquina cliente.
Exemplo:
{"usePrivateIp": true}
Você pode encontrar mais sobre essas opções aqui.
preferScenarioName
Somente Cucumber. Defina o nome da sessão como o nome do Cenário se apenas um único Cenário for executado. Útil ao executar em paralelo com wdio-cucumber-parallel-execution.
Tipo: Boolean
Padrão: false
sessionNameFormat
Personalize o formato do nome da sessão.
Tipo: Function
Padrão (Cucumber/Jasmine): (config, capabilities, suiteTitle) => suiteTitle
Padrão (Mocha): (config, capabilities, suiteTitle, testTitle) => suiteTitle + ' - ' + testTitle
sessionNameOmitTestTitle
Somente Mocha. Não anexe o título do teste ao nome da sessão.
Tipo: Boolean
Padrão: false
sessionNamePrependTopLevelSuiteTitle
Somente Mocha. Coloque o título da suíte de nível superior antes do nome da sessão.
Tipo: Boolean
Padrão: false
setSessionName
Defina automaticamente o nome da sessão.
Tipo: Boolean
Padrão: true
setSessionStatus
Definir automaticamente o status da sessão (aprovado/falhou).
Tipo: Boolean
Padrão: true
ignoreTestCountInName
Ignore a contagem de repetições de um teste no nome
Tipo: Boolean
Padrão: false
useScenarioName
Para obter nomes de testes como nomes de cenários para testes específicos do cucumber, basta adicionar useScenarioName: true
no seu wdio.conf.js
.
Passos para compilar e publicar
- Clone este repositório git.
- Execute "npm install"
- Execute "npm run build"
- Passos para publicar: execute "npm login"
- Execute "npm publish --access public"
Para mais informações sobre WebdriverIO, veja a página inicial.