Vai al contenuto principale

Utilizzo dei Servizi Cloud

L'utilizzo di servizi on-demand come Sauce Labs, Browserstack, TestingBot, LambdaTest o Perfecto con WebdriverIO è piuttosto semplice. Tutto ciò che devi fare è impostare l'user e la key del tuo servizio nelle tue opzioni.

Facoltativamente, puoi anche parametrizzare il tuo test impostando capacità specifiche per il cloud come build. Se vuoi eseguire servizi cloud solo in Travis, puoi utilizzare la variabile di ambiente CI per verificare se sei in Travis e modificare la configurazione di conseguenza.

// wdio.conf.js
export let config = {...}
if (process.env.CI) {
config.user = process.env.SAUCE_USERNAME
config.key = process.env.SAUCE_ACCESS_KEY
}

Sauce Labs

Puoi configurare i tuoi test per essere eseguiti in remoto su Sauce Labs.

L'unico requisito è impostare user e key nella tua configurazione (sia esportata da wdio.conf.js o passata in webdriverio.remote(...)) con il tuo nome utente e chiave di accesso di Sauce Labs.

Puoi anche passare qualsiasi opzione di configurazione del test opzionale come chiave/valore nelle capabilities per qualsiasi browser.

Sauce Connect

Se desideri eseguire test su un server che non è accessibile da Internet (come su localhost), allora devi utilizzare Sauce Connect.

Non rientra nello scopo di WebdriverIO supportare questo, quindi dovrai avviarlo da solo.

Se stai utilizzando il testrunner WDIO, scarica e configura il @wdio/sauce-service nel tuo wdio.conf.js. Aiuta a far funzionare Sauce Connect e offre funzionalità aggiuntive che integrano meglio i tuoi test nel servizio Sauce.

Con Travis CI

Travis CI, tuttavia, ha supporto per avviare Sauce Connect prima di ogni test, quindi seguire le loro indicazioni è un'opzione.

In tal caso, devi impostare l'opzione di configurazione del test tunnel-identifier nelle capabilities di ciascun browser. Travis imposta questo valore sulla variabile d'ambiente TRAVIS_JOB_NUMBER per impostazione predefinita.

Inoltre, se vuoi che Sauce Labs raggruppi i tuoi test per numero di build, puoi impostare il build su TRAVIS_BUILD_NUMBER.

Infine, se imposti name, questo cambia il nome di questo test in Sauce Labs per questa build. Se stai utilizzando il testrunner WDIO combinato con @wdio/sauce-service, WebdriverIO imposta automaticamente un nome appropriato per il test.

Esempio di capabilities:

browserName: 'chrome',
version: '27.0',
platform: 'XP',
'tunnel-identifier': process.env.TRAVIS_JOB_NUMBER,
name: 'integration',
build: process.env.TRAVIS_BUILD_NUMBER

Timeout

Poiché stai eseguendo i tuoi test in remoto, potrebbe essere necessario aumentare alcuni timeout.

Puoi modificare l'idle timeout passando idle-timeout come opzione di configurazione del test. Questo controlla quanto tempo Sauce attenderà tra i comandi prima di chiudere la connessione.

BrowserStack

WebdriverIO ha anche un'integrazione con Browserstack incorporata.

L'unico requisito è impostare user e key nella tua configurazione (sia esportata da wdio.conf.js o passata in webdriverio.remote(...)) con il tuo nome utente automate e chiave di accesso Browserstack.

Puoi anche passare qualsiasi capacità supportata opzionale come chiave/valore nelle capabilities per qualsiasi browser. Se imposti browserstack.debug su true, verrà registrato uno screencast della sessione, che potrebbe essere utile.

Test Locali

Se desideri eseguire test su un server che non è accessibile da Internet (come su localhost), allora devi utilizzare Local Testing.

Non rientra nello scopo di WebdriverIO supportare questo, quindi devi avviarlo da solo.

Se utilizzi local, dovresti impostare browserstack.local su true nelle tue capabilities.

Se stai utilizzando il testrunner WDIO, scarica e configura il @wdio/browserstack-service nel tuo wdio.conf.js. Aiuta a far funzionare BrowserStack e offre funzionalità aggiuntive che integrano meglio i tuoi test nel servizio BrowserStack.

Con Travis CI

Se vuoi aggiungere il Local Testing in Travis, devi avviarlo da solo.

Il seguente script scaricherà e lo avvierà in background. Dovresti eseguire questo in Travis prima di iniziare i test.

wget https://www.browserstack.com/browserstack-local/BrowserStackLocal-linux-x64.zip
unzip BrowserStackLocal-linux-x64.zip
./BrowserStackLocal -v -onlyAutomate -forcelocal $BROWSERSTACK_ACCESS_KEY &
sleep 3

Inoltre, potresti voler impostare il build al numero di build di Travis.

Esempio di capabilities:

browserName: 'chrome',
project: 'myApp',
version: '44.0',
build: `myApp #${process.env.TRAVIS_BUILD_NUMBER}.${process.env.TRAVIS_JOB_NUMBER}`,
'browserstack.local': 'true',
'browserstack.debug': 'true'

TestingBot

L'unico requisito è impostare user e key nella tua configurazione (sia esportata da wdio.conf.js o passata in webdriverio.remote(...)) con il tuo nome utente e chiave segreta di TestingBot.

Puoi anche passare qualsiasi capacità supportata opzionale come chiave/valore nelle capabilities per qualsiasi browser.

Test Locali

Se desideri eseguire test su un server che non è accessibile da Internet (come su localhost), allora devi utilizzare Local Testing. TestingBot fornisce un tunnel basato su Java per consentirti di testare siti web non accessibili da Internet.

La loro pagina di supporto del tunnel contiene le informazioni necessarie per avviarlo e farlo funzionare.

Se stai utilizzando il testrunner WDIO, scarica e configura il @wdio/testingbot-service nel tuo wdio.conf.js. Aiuta a far funzionare TestingBot e offre funzionalità aggiuntive che integrano meglio i tuoi test nel servizio TestingBot.

LambdaTest

Anche l'integrazione con LambdaTest è incorporata.

L'unico requisito è impostare user e key nella tua configurazione (sia esportata da wdio.conf.js o passata in webdriverio.remote(...)) con il tuo nome utente account e chiave di accesso LambdaTest.

Puoi anche passare qualsiasi capacità supportata opzionale come chiave/valore nelle capabilities per qualsiasi browser. Se imposti visual su true, verrà registrato uno screencast della sessione, che potrebbe essere utile.

Tunnel per test locali

Se desideri eseguire test su un server che non è accessibile da Internet (come su localhost), allora devi utilizzare Local Testing.

Non rientra nello scopo di WebdriverIO supportare questo, quindi devi avviarlo da solo.

Se utilizzi local, dovresti impostare tunnel su true nelle tue capabilities.

Se stai utilizzando il testrunner WDIO, scarica e configura il wdio-lambdatest-service nel tuo wdio.conf.js. Aiuta a far funzionare LambdaTest e offre funzionalità aggiuntive che integrano meglio i tuoi test nel servizio LambdaTest.

Con Travis CI

Se vuoi aggiungere il Local Testing in Travis, devi avviarlo da solo.

Il seguente script scaricherà e lo avvierà in background. Dovresti eseguire questo in Travis prima di iniziare i test.

wget http://downloads.lambdatest.com/tunnel/linux/64bit/LT_Linux.zip
unzip LT_Linux.zip
./LT -user $LT_USERNAME -key $LT_ACCESS_KEY -cui &
sleep 3

Inoltre, potresti voler impostare il build al numero di build di Travis.

Esempio di capabilities:

platform: 'Windows 10',
browserName: 'chrome',
version: '79.0',
build: `myApp #${process.env.TRAVIS_BUILD_NUMBER}.${process.env.TRAVIS_JOB_NUMBER}`,
'tunnel': 'true',
'visual': 'true'

Perfecto

Quando si utilizza wdio con Perfecto, è necessario creare un token di sicurezza per ogni utente e aggiungerlo nella struttura delle capabilities (oltre ad altre capabilities), come segue:

export const config = {
capabilities: [{
// ...
securityToken: "your security token"
}],

Inoltre, è necessario aggiungere la configurazione del cloud, come segue:

  hostname: "your_cloud_name.perfectomobile.com",
path: "/nexperience/perfectomobile/wd/hub",
port: 443,
protocol: "https",

Welcome! How can I help?

WebdriverIO AI Copilot