Interfejs REPL
Od wersji v4.5.0
WebdriverIO wprowadził interfejs REPL, który pomaga nie tylko nauczyć się API frameworka, ale także debugować i analizować testy. Może być używany na wiele sposobów.
Po pierwsze, możesz używać go jako polecenia CLI, instalując npm install -g @wdio/cli
i uruchamiając sesję WebDrivera z linii poleceń, np.
wdio repl chrome
Otworzy to przeglądarkę Chrome, którą możesz kontrolować za pomocą interfejsu REPL. Upewnij się, że masz uruchomiony sterownik przeglądarki na porcie 4444
, aby zainicjować sesję. Jeśli masz konto Sauce Labs (lub innego dostawcy chmury), możesz również bezpośrednio uruchomić przeglądarkę z linii poleceń w chmurze za pomocą:
wdio repl chrome -u $SAUCE_USERNAME -k $SAUCE_ACCESS_KEY
Jeśli sterownik działa na innym porcie, np.: 9515, można go przekazać za pomocą argumentu wiersza poleceń --port lub aliasu -p
wdio repl chrome -u $SAUCE_USERNAME -k $SAUCE_ACCESS_KEY -p 9515
Repl może być również uruchamiany przy użyciu konfiguracji z pliku konfiguracyjnego webdriverIO. Wdio obsługuje obiekt capabilities; lub listę capabilities multiremote lub obiekt.
Jeśli plik konfiguracyjny używa obiektu capabilities, to wystarczy przekazać ścieżkę do pliku konfiguracyjnego, a jeśli to jest konfiguracja multiremote, to określ, które capabilities użyć z listy lub multiremote za pomocą argumentu pozycyjnego. Uwaga: dla listy używamy indeksu bazującego na zeru.
Przykład
WebdriverIO z tablicą capability:
export const config = {
// ...
capabilities:[{
browserName: 'chrome', // options: `chrome`, `edge`, `firefox`, `safari`, `chromium`
browserVersion: '27.0', // browser version
platformName: 'Windows 10' // OS platform
}]
}
wdio repl "./path/to/wdio.config.js" 0 -p 9515
WebdriverIO z obiektem capability multiremote:
export const config = {
// ...
capabilities: {
myChromeBrowser: {
capabilities: {
browserName: 'chrome'
}
},
myFirefoxBrowser: {
capabilities: {
browserName: 'firefox'
}
}
}
}
wdio repl "./path/to/wdio.config.js" "myChromeBrowser" -p 9515
Lub jeśli chcesz uruchomić lokalne testy mobilne za pomocą Appium:
- Android
- iOS
wdio repl android
wdio repl ios
Otworzy to sesję Chrome/Safari na podłączonym urządzeniu/emulatorze/symulatorze. Upewnij się, że Appium działa na porcie 4444
, aby zainicjować sesję.
wdio repl './path/to/your_app.apk'
Otworzy to sesję aplikacji na podłączonym urządzeniu/emulatorze/symulatorze. Upewnij się, że Appium działa na porcie 4444
, aby zainicjować sesję.
Konfiguracje dla urządzenia iOS można przekazać za pomocą argumentów:
-v
-platformVersion
: wersja platformy Android/iOS-d
-deviceName
: nazwa urządzenia mobilnego-u
-udid
: udid dla rzeczywistych urządzeń
Użycie:
- Długie nazwy parametrów
- Krótkie nazwy parametrów
wdio repl ios --platformVersion 11.3 --deviceName 'iPhone 7' --udid 123432abc
wdio repl ios -v 11.3 -d 'iPhone 7' -u 123432abc
Możesz zastosować dowolne opcje (zobacz wdio repl --help
) dostępne dla Twojej sesji REPL.
Innym sposobem korzystania z REPL jest użycie go wewnątrz testów za pomocą polecenia debug
. Zatrzyma to przeglądarkę po wywołaniu i umożliwi przejście do aplikacji (np. do narzędzi programistycznych) lub sterowanie przeglądarką z wiersza poleceń. Jest to pomocne, gdy niektóre polecenia nie wywołują określonej akcji zgodnie z oczekiwaniami. Za pomocą REPL możesz wtedy wypróbować polecenia, aby zobaczyć, które działają najbardziej niezawodnie.