Przejdź do głównej treści

Korzystanie z usług chmurowych

Korzystanie z usług na żądanie, takich jak Sauce Labs, Browserstack, TestingBot, LambdaTest lub Perfecto z WebdriverIO jest bardzo proste. Wszystko, co musisz zrobić, to ustawić user i key swojej usługi w opcjach.

Opcjonalnie możesz również sparametryzować swój test, ustawiając możliwości specyficzne dla chmury, takie jak build. Jeśli chcesz uruchamiać usługi chmurowe tylko w Travis, możesz użyć zmiennej środowiskowej CI, aby sprawdzić, czy jesteś w Travis i odpowiednio zmodyfikować konfigurację.

// 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

Możesz skonfigurować swoje testy do zdalnego uruchamiania w Sauce Labs.

Jedynym wymaganiem jest ustawienie user i key w konfiguracji (eksportowanej przez wdio.conf.js lub przekazanej do webdriverio.remote(...)) na swoją nazwę użytkownika i klucz dostępu do Sauce Labs.

Możesz również przekazać dowolną opcjonalną opcję konfiguracji testu jako klucz/wartość w możliwościach dla dowolnej przeglądarki.

Sauce Connect

Jeśli chcesz uruchamiać testy na serwerze, który nie jest dostępny dla Internetu (np. na localhost), musisz użyć Sauce Connect.

Jest to poza zakresem WebdriverIO, więc będziesz musiał uruchomić to samodzielnie.

Jeśli używasz testera WDIO, pobierz i skonfiguruj @wdio/sauce-service w swoim pliku wdio.conf.js. Pomaga to uruchomić Sauce Connect i zawiera dodatkowe funkcje, które lepiej integrują twoje testy z usługą Sauce.

Z Travis CI

Travis CI jednak ma wsparcie dla uruchamiania Sauce Connect przed każdym testem, więc postępowanie zgodnie z ich instrukcjami jest opcją.

Jeśli to zrobisz, musisz ustawić opcję konfiguracji testu tunnel-identifier w capabilities każdej przeglądarki. Travis domyślnie ustawia to na zmienną środowiskową TRAVIS_JOB_NUMBER.

Ponadto, jeśli chcesz, aby Sauce Labs grupował twoje testy według numeru kompilacji, możesz ustawić build na TRAVIS_BUILD_NUMBER.

Na koniec, jeśli ustawisz name, zmienia to nazwę tego testu w Sauce Labs dla tej kompilacji. Jeśli używasz testera WDIO w połączeniu z @wdio/sauce-service, WebdriverIO automatycznie ustawia odpowiednią nazwę dla testu.

Przykład capabilities:

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

Limity czasu

Ponieważ uruchamiasz swoje testy zdalnie, może być konieczne zwiększenie niektórych limitów czasu.

Możesz zmienić limit czasu bezczynności, przekazując idle-timeout jako opcję konfiguracji testu. Kontroluje to, jak długo Sauce będzie czekać między poleceniami przed zamknięciem połączenia.

BrowserStack

WebdriverIO ma również wbudowaną integrację z Browserstack.

Jedynym wymaganiem jest ustawienie user i key w konfiguracji (eksportowanej przez wdio.conf.js lub przekazanej do webdriverio.remote(...)) na swoją nazwę użytkownika i klucz dostępu do automatyzacji Browserstack.

Możesz również przekazać dowolne opcjonalne obsługiwane możliwości jako klucz/wartość w możliwościach dla dowolnej przeglądarki. Jeśli ustawisz browserstack.debug na true, sesja zostanie nagrana, co może być pomocne.

Testowanie lokalne

Jeśli chcesz uruchamiać testy na serwerze, który nie jest dostępny dla Internetu (np. na localhost), musisz użyć Local Testing.

Jest to poza zakresem WebdriverIO, więc musisz uruchomić to samodzielnie.

Jeśli używasz lokalnego, powinieneś ustawić browserstack.local na true w swoich możliwościach.

Jeśli używasz testera WDIO, pobierz i skonfiguruj @wdio/browserstack-service w swoim pliku wdio.conf.js. Pomaga to uruchomić BrowserStack i zawiera dodatkowe funkcje, które lepiej integrują twoje testy z usługą BrowserStack.

Z Travis CI

Jeśli chcesz dodać testowanie lokalne w Travis, musisz uruchomić je samodzielnie.

Poniższy skrypt pobierze i uruchomi go w tle. Powinieneś uruchomić to w Travis przed rozpoczęciem testów.

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

Ponadto, możesz chcieć ustawić build na numer kompilacji Travis.

Przykład 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

Jedynym wymaganiem jest ustawienie user i key w konfiguracji (eksportowanej przez wdio.conf.js lub przekazanej do webdriverio.remote(...)) na swoją nazwę użytkownika i tajny klucz TestingBot.

Możesz również przekazać dowolne opcjonalne obsługiwane możliwości jako klucz/wartość w możliwościach dla dowolnej przeglądarki.

Testowanie lokalne

Jeśli chcesz uruchamiać testy na serwerze, który nie jest dostępny dla Internetu (np. na localhost), musisz użyć Local Testing. TestingBot zapewnia tunel oparty na Javie, który pozwala na testowanie stron internetowych niedostępnych z internetu.

Ich strona wsparcia tunelu zawiera informacje niezbędne do uruchomienia.

Jeśli używasz testera WDIO, pobierz i skonfiguruj @wdio/testingbot-service w swoim pliku wdio.conf.js. Pomaga to uruchomić TestingBot i zawiera dodatkowe funkcje, które lepiej integrują twoje testy z usługą TestingBot.

LambdaTest

Integracja LambdaTest jest również wbudowana.

Jedynym wymaganiem jest ustawienie user i key w konfiguracji (eksportowanej przez wdio.conf.js lub przekazanej do webdriverio.remote(...)) na swoją nazwę użytkownika i klucz dostępu do konta LambdaTest.

Możesz również przekazać dowolne opcjonalne obsługiwane możliwości jako klucz/wartość w możliwościach dla dowolnej przeglądarki. Jeśli ustawisz visual na true, sesja zostanie nagrana, co może być pomocne.

Tunel do testowania lokalnego

Jeśli chcesz uruchamiać testy na serwerze, który nie jest dostępny dla Internetu (np. na localhost), musisz użyć Local Testing.

Jest to poza zakresem WebdriverIO, więc musisz uruchomić to samodzielnie.

Jeśli używasz lokalnego, powinieneś ustawić tunnel na true w swoich możliwościach.

Jeśli używasz testera WDIO, pobierz i skonfiguruj wdio-lambdatest-service w swoim pliku wdio.conf.js. Pomaga to uruchomić LambdaTest i zawiera dodatkowe funkcje, które lepiej integrują twoje testy z usługą LambdaTest.

Z Travis CI

Jeśli chcesz dodać testowanie lokalne w Travis, musisz uruchomić je samodzielnie.

Poniższy skrypt pobierze i uruchomi go w tle. Powinieneś uruchomić to w Travis przed rozpoczęciem testów.

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

Ponadto, możesz chcieć ustawić build na numer kompilacji Travis.

Przykład 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

Podczas korzystania z wdio z Perfecto, musisz utworzyć token bezpieczeństwa dla każdego użytkownika i dodać go do struktury możliwości (oprócz innych możliwości), w następujący sposób:

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

Dodatkowo, musisz dodać konfigurację chmury, w następujący sposób:

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

Welcome! How can I help?

WebdriverIO AI Copilot