Servizio LambdaTest
wdio-lambdatest-service è un pacchetto di terze parti, per maggiori informazioni consultare GitHub | npm
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
- clona questo repository git.
- esegui "npm install"
- esegui "npm run build"
- Passaggi per pubblicare: esegui "npm login"
- esegui "npm publish --access public"
Per ulteriori informazioni su WebdriverIO, consulta la homepage.