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.