Pular para o conteúdo principal

Serviço LambdaTest

wdio-lambdatest-service is a 3rd party package, for more information please see GitHub | npm

WDIO health check

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

  1. Clone este repositório git.
  2. Execute "npm install"
  3. Execute "npm run build"
  4. Passos para publicar: execute "npm login"
  5. Execute "npm publish --access public"

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

Welcome! How can I help?

WebdriverIO AI Copilot