REPL-gränssnitt
Med v4.5.0
introducerade WebdriverIO ett REPL-gränssnitt som hjälper dig att inte bara lära dig ramverkets API, utan också felsöka och inspektera dina tester. Det kan användas på flera sätt.
Först kan du använda det som CLI-kommando genom att installera npm install -g @wdio/cli
och starta en WebDriver-session från kommandoraden, t.ex.
wdio repl chrome
Detta skulle öppna en Chrome-webbläsare som du kan kontrollera med REPL-gränssnittet. Se till att du har en webbläsardrivrutin som körs på port 4444
för att kunna starta sessionen. Om du har ett Sauce Labs (eller annan molnleverantör) konto, kan du även direkt köra webbläsaren på din kommandorad i molnet via:
wdio repl chrome -u $SAUCE_USERNAME -k $SAUCE_ACCESS_KEY
Om drivrutinen körs på en annan port, t.ex. 9515, kan det skickas med kommandoradsargumentet --port eller alias -p
wdio repl chrome -u $SAUCE_USERNAME -k $SAUCE_ACCESS_KEY -p 9515
Repl kan också köras med hjälp av funktionerna från webdriverIO-konfigurationsfilen. Wdio stöder capabilities-objekt; eller multiremote capability-lista eller objekt.
Om konfigurationsfilen använder capabilities-objekt så skicka bara sökvägen till konfigurationsfilen, annars om det är en multiremote capability, specificera vilken capability som ska användas från listan eller multiremote med hjälp av positionsargumentet. Obs: för listor använder vi nollbaserat index.
Exempel
WebdriverIO med capability-array:
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 med multiremote capability-objekt:
export const config = {
// ...
capabilities: {
myChromeBrowser: {
capabilities: {
browserName: 'chrome'
}
},
myFirefoxBrowser: {
capabilities: {
browserName: 'firefox'
}
}
}
}
wdio repl "./path/to/wdio.config.js" "myChromeBrowser" -p 9515
Eller om du vill köra lokala mobila tester med hjälp av Appium:
- Android
- iOS
wdio repl android
wdio repl ios
Detta skulle öppna Chrome/Safari-session på ansluten enhet/emulator/simulator. Se till att Appium körs på port 4444
för att starta sessionen.
wdio repl './path/to/your_app.apk'
Detta skulle öppna en App-session på ansluten enhet/emulator/simulator. Se till att Appium körs på port 4444
för att starta sessionen.
Capabilities för iOS-enheter kan skickas med argument:
-v
-platformVersion
: version av Android/iOS-plattform-d
-deviceName
: namnet på mobilenheten-u
-udid
: udid för fysiska enheter
Användning:
- Long Parameter Names
- Short Parameter Names
wdio repl ios --platformVersion 11.3 --deviceName 'iPhone 7' --udid 123432abc
wdio repl ios -v 11.3 -d 'iPhone 7' -u 123432abc
Du kan tillämpa alla tillgängliga alternativ (se wdio repl --help
) för din REPL-session.
Ett annat sätt att använda REPL är inuti dina tester via debug
-kommandot. Detta kommer att stoppa webbläsaren när den anropas, och gör det möjligt för dig att hoppa in i applikationen (t.ex. till utvecklarverktygen) eller kontrollera webbläsaren från kommandoraden. Detta är användbart när vissa kommandon inte utlöser en viss åtgärd som förväntat. Med REPL kan du sedan prova kommandona för att se vilka som fungerar mest tillförlitligt.