Vai al contenuto principale

Servizio LambdaTest

wdio-lambdatest-service è un pacchetto di terze parti, per maggiori informazioni consultare GitHub | npm

WDIO health check

Un servizio WebdriverIO che gestisce tunnel e metadati dei job per gli utenti LambdaTest.

Installazione

npm i wdio-lambdatest-service --save-dev

Le istruzioni su come installare WebdriverIO possono essere trovate qui.

Configurazione

WebdriverIO ha il supporto per LambdaTest integrato. Devi semplicemente impostare user e key nel tuo file wdio.conf.js. Per abilitare la funzionalità per l'automazione delle app, imposta product: 'appAutomation' nel tuo file wdio.conf.js. Questo plugin di servizio fornisce supporto per LambdaTest Tunnel. Imposta anche tunnel: true per attivare questa funzionalità.

// 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
}]
],
// ...
};

Per ottenere i commenti sugli errori dei test nella dashboard di automazione

Per ottenere i commenti sugli errori dei test nella dashboard di automazione, aggiungi semplicemente ltErrorRemark: true nel tuo wdio.conf.js.

Per caricare app da locale o URL

Carica app android o ios da locale o da URL host dell'app aggiungendo questa configurazione richiesta nel tuo wdio.conf.js. Per utilizzare l'app caricata per i test nella stessa esecuzione, imposta enableCapability = true, questo imposterà il valore dell'URL dell'app nelle capabilities.

// wdio.conf.js
services: [
[
"lambdatest",
{
tunnel: true,
app_upload: true,
app:{
app_name : "xyz", //fornisci il nome desiderato per la tua app
app_path : "/path/to/your/app/file", //fornisci la posizione locale dell'app
// oppure
app_url : "https://example.test_android.apk", //fornisci l'URL dove la tua app è ospitata o memorizzata
custom_id : "12345", //fornisci il tuo ID personalizzato desiderato
enableCapability : true
}
}
]
]

Opzioni

Per autorizzare il servizio LambdaTest, la tua configurazione deve contenere le opzioni user e key.

tunnel

Imposta questo a true per abilitare l'instradamento delle connessioni dal cloud LambdaTest attraverso il tuo computer. Dovrai anche impostare tunnel su true nelle capabilities del browser.

Tipo: Boolean
Predefinito: false

lambdatestOpts

Le opzioni specificate saranno passate a LambdaTest Tunnel.

Tipo: Object
Predefinito: {}

Di seguito è riportato un elenco completo di tutte le opzioni disponibili:

tunnelName

Specifica il nome personalizzato di LambdaTest Tunnel da utilizzare.

Esempio:

{"tunnelName": "my_custom_tunnel"}

port

Porta per attivare LambdaTest Tunnel.

Esempio:

{"port": 33000}

user

Nome utente LambdaTest.

Esempio:

{"user": "your_username"}

key

AccessKey LambdaTest.

Esempio:

{"key": "your_access_key"}

verbose

Ogni richiesta proxy deve essere registrata su stdout.

Esempio:

{"verbose": true}

logFile

Posizione del file di log di LambdaTest Tunnel.

Esempio:

{"logFile": "/path/to/log/file"}

config

Percorso del file di configurazione da utilizzare. Esempio:

{"config": "/path/to/config/file"}

dir

Specifica la directory locale che verrà servita da un file server sulla porta del Tunnel.

Esempio:

{"dir": "/path/to/local/directory"}

proxyHost

Specifica il nome host della porta proxy del Tunnel.

Esempio:

{"proxyHost": "proxy.example.com"}

proxyUser

Specifica il nome utente della porta proxy del Tunnel.

Esempio:

{"proxyUser": "your_proxy_username"}

proxyPass

Specifica la password della porta proxy del Tunnel.

Esempio:

{"proxyPass": "your_proxy_password"}

proxyPort

Specifica il numero di porta dove verrà attivato il proxy del Tunnel.

Esempio:

{"proxyPort": 8080}

egressOnly

Utilizza le impostazioni del proxy solo per le richieste in uscita.

Esempio:

{"egressOnly": true}

ingressOnly

Instrada solo il traffico in entrata tramite il proxy specificato.

Esempio:

{"ingressOnly": true}

pacfile

Per utilizzare PAC (Proxy Auto-Configuration) nei test locali, fornire il percorso di un file PAC.

Esempio:

{"pacfile": "/path/to/pacfile"}

loadBalanced

Attiva il Bilanciamento del carico per LambdaTest Tunnel.

Esempio:

{"loadBalanced": true}

mode

Specifica in quale modalità il tunnel dovrebbe funzionare "ssh" o "ws". (predefinito "ssh").

Esempio:

{"mode": "ssh"}

sshConnType

Specifica il tipo di connessione ssh (over_22, over_443, over_ws). Per utilizzare –sshConnType, specifica prima il flag ––mode ssh.

Esempio:

{"sshConnType": "over_22"}

maxSSHConnections

Aumenta la connessione SSH dal Client Tunnel al Server Tunnel. Il valore massimo consentito è 30.

Esempio:

{"maxSSHConnections": 2}

sharedTunnel

Condivisione del Tunnel tra i membri del team.

Esempio:

{"sharedTunnel": true}

env

L'ambiente su cui funzionerà LambdaTest Tunnel.

Esempio:

{"env": "production"}

infoAPIPort

Espone Tunnel Info API sulla porta specificata.

Esempio:

{"infoAPIPort": 8080}

callbackURL

URL di callback per lo stato del tunnel.

Esempio:

{"callbackURL": "https://example.com/callback"}

allowHosts

Elenco separato da virgole di host da instradare attraverso il tunnel. Tutto il resto verrà instradato tramite Internet.

Esempio:

{"allowHosts": "example.com,anotherexample.com"}

bypassHosts

Elenco separato da virgole di host da bypassare dal tunnel. Questi saranno instradati tramite internet.

Esempio:

{"bypassHosts": "example.com,anotherexample.com"}

clientCert

Percorso del file del certificato client mTLS.

Esempio:

{"clientCert": "/path/to/client_certificate"}

clientKey

Percorso del file della chiave client mTLS.

Esempio:

{"clientKey": "/path/to/client_key"}

mTLSHosts

Elenco separato da virgole di host mTLS.

Esempio:

{"mTLSHosts": "example.com,anotherexample.com"}

dns

Elenco separato da virgole di server DNS.

Esempio:

{"dns": "8.8.8.8,8.8.4.4"}

mitm

Abilita la modalità MITM (Man-in-the-middle) per LambdaTest Tunnel.

Esempio:

{"mitm": true}

ntlm

Per utilizzare l'autenticazione Microsoft NTLM (Windows NT LAN Manager) per la comunicazione o il trasporto.

Esempio:

{"ntlm": true}

pidfile

Percorso del pidfile, dove verrà scritto l'ID del processo.

Esempio:

{"pidfile": "/path/to/pidfile"}

usePrivateIp

Imposta l'indirizzo remoto a un IP interno della macchina client.

Esempio:

{"usePrivateIp": true}

Puoi trovare maggiori informazioni su queste opzioni qui.

preferScenarioName

Solo per Cucumber. Imposta il nome della sessione al nome dello Scenario se viene eseguito un solo Scenario. Utile quando si esegue in parallelo con wdio-cucumber-parallel-execution.

Tipo: Boolean
Predefinito: false

sessionNameFormat

Personalizza il formato del nome della sessione.

Tipo: Function
Predefinito (Cucumber/Jasmine): (config, capabilities, suiteTitle) => suiteTitle
Predefinito (Mocha): (config, capabilities, suiteTitle, testTitle) => suiteTitle + ' - ' + testTitle

sessionNameOmitTestTitle

Solo per Mocha. Non aggiungere il titolo del test al nome della sessione.

Tipo: Boolean
Predefinito: false

sessionNamePrependTopLevelSuiteTitle

Solo per Mocha. Antepone il titolo della suite di livello superiore al nome della sessione.

Tipo: Boolean
Predefinito: false

setSessionName

Imposta automaticamente il nome della sessione.

Tipo: Boolean
Predefinito: true

setSessionStatus

Imposta automaticamente lo stato della sessione (passato/fallito).

Tipo: Boolean
Predefinito: true

ignoreTestCountInName

Ignora il conteggio dei tentativi di un test nel nome

Tipo: Boolean
Predefinito: false

useScenarioName

Per ottenere i nomi dei test come nomi di scenario per test specifici di cucumber, aggiungi semplicemente useScenarioName: true nel tuo wdio.conf.js.

Passaggi per compilare e pubblicare

  1. clona questo repository git.
  2. esegui "npm install"
  3. esegui "npm run build"
  4. Passaggi per pubblicare: esegui "npm login"
  5. esegui "npm publish --access public"

Per ulteriori informazioni su WebdriverIO, consulta la homepage.

Welcome! How can I help?

WebdriverIO AI Copilot