Możliwości
Możliwość (capability) to definicja dla zdalnego interfejsu. Pomaga ona WebdriverIO zrozumieć, w jakim środowisku przeglądarki lub urządzenia mobilnego chcesz uruchamiać swoje testy. Możliwości są mniej kluczowe podczas lokalnego tworzenia testów, ponieważ najczęściej uruchamiasz je na jednym zdalnym interfejsie, ale stają się ważniejsze podczas uruchamiania dużego zestawu testów integracyjnych w CI/CD.
Format obiektu możliwości jest dobrze zdefiniowany przez specyfikację WebDriver. Testrunner WebdriverIO zakończy działanie wcześnie, jeśli zdefiniowane przez użytkownika możliwości nie będą zgodne z tą specyfikacją.
Niestandardowe możliwości
Podczas gdy liczba stałych zdefiniowanych możliwości jest bardzo niska, każdy może dostarczać i akceptować niestandardowe możliwości, które są specyficzne dla sterownika automatyzacji lub zdalnego interfejsu:
Rozszerzenia możliwości specyficzne dla przeglądarek
goog:chromeOptions: rozszerzenia Chromedriver, mają zastosowanie tylko dla testów w Chromemoz:firefoxOptions: rozszerzenia Geckodriver, mają zastosowanie tylko dla testów w Firefoxms:edgeOptions: EdgeOptions do określania środowiska podczas używania EdgeDriver do testowania Chromium Edge
Rozszerzenia możliwości dostawców usług chmurowych
sauce:options: Sauce Labsbstack:options: BrowserStacktb:options: TestingBotLT:Options: LambdaTest- i wiele więcej...
Rozszerzenia możliwości silnika automatyzacji
Możliwości WebdriverIO do zarządzania opcjami sterownika przeglądarki
WebdriverIO zarządza instalowaniem i uruchamianiem sterownika przeglądarki za Ciebie. WebdriverIO używa niestandardowej możliwości, która pozwala przekazać parametry do sterownika.
wdio:chromedriverOptions
Konkretne opcje przekazywane do Chromedriver podczas uruchamiania.
wdio:geckodriverOptions
Konkretne opcje przekazywane do Geckodriver podczas uruchamiania.
wdio:edgedriverOptions
Konkretne opcje przekazywane do Edgedriver podczas uruchamiania.
wdio:safaridriverOptions
Konkretne opcje przekazywane do Safari podczas uruchamiania.
wdio:maxInstances
Maksymalna liczba równolegle uruchomionych procesów roboczych dla konkretnej przeglądarki/możliwości. Ma pierwszeństwo przed maxInstances i maxInstancesPerCapability.
Typ: number
wdio:specs
Definiuje specyfikacje dla wykonywania testów dla danej przeglądarki/możliwości. Tak samo jak regularna opcja konfiguracji specs, ale specyficzna dla przeglądarki/możliwości. Ma pierwszeństwo przed specs.
Typ: (String | String[])[]
wdio:exclude
Wyklucza specyfikacje z wykonywania testów dla tej przeglądarki/możliwości. Tak samo jak regularna opcja konfiguracji exclude, ale specyficzna dla przeglądarki/możliwości. Wyklucza po zastosowaniu globalnej opcji konfiguracji exclude.
Typ: String[]
wdio:enforceWebDriverClassic
Domyślnie WebdriverIO próbuje ustanowić sesję WebDriver Bidi. Jeśli wolisz tego uniknąć, możesz ustawić tę flagę, aby wyłączyć to zachowanie.
Typ: boolean
Wspólne opcje sterowników
Podczas gdy wszystkie sterowniki oferują różne parametry konfiguracji, istnieją pewne wspólne, które WebdriverIO rozumie i wykorzystuje do konfigurowania sterownika lub przeglądarki:
cacheDir
Ścieżka do katalogu głównego pamięci podręcznej. Ten katalog służy do przechowywania wszystkich sterowników, które są pobierane podczas próby rozpoczęcia sesji.
Typ: string
Domyślnie: process.env.WEBDRIVER_CACHE_DIR || os.tmpdir()
binary
Ścieżka do niestandardowego pliku binarnego sterownika. Jeśli ustawione, WebdriverIO nie będzie próbować pobrać sterownika, ale użyje tego dostarczanego przez tę ścieżkę. Upewnij się, że sterownik jest kompatybilny z przeglądarką, której używasz.
Możesz podać tę ścieżkę za pomocą zmiennych środowiskowych CHROMEDRIVER_PATH, GECKODRIVER_PATH lub EDGEDRIVER_PATH.
Typ: string
Jeśli plik binarny sterownika binary jest ustawiony, WebdriverIO nie będzie próbować pobrać sterownika, ale użyje tego dostarczanego przez tę ścieżkę. Upewnij się, że sterownik jest kompatybilny z przeglądarką, której używasz.
Opcje sterownika specyficzne dla przeglądarki
Aby przekazać opcje do sterownika, możesz użyć następujących niestandardowych możliwości:
- Chrome lub Chromium:
wdio:chromedriverOptions - Firefox:
wdio:geckodriverOptions - Microsoft Edge:
wdio:edgedriverOptions - Safari:
wdio:safaridriverOptions
- wdio:chromedriverOptions
- wdio:geckodriverOptions
- wdio:edgedriverOptions
- wdio:safaridriverOptions
adbPort
Port, na którym powinien działać sterownik ADB.
Przykład: 9515
Typ: number
urlBase
Prefiks podstawowej ścieżki URL dla poleceń, np. wd/url.
Przykład: /
Typ: string
logPath
Zapisuje dziennik serwera do pliku zamiast stderr, zwiększa poziom logowania do INFO
Typ: string
logLevel
Ustaw poziom logowania. Możliwe opcje to ALL, DEBUG, INFO, WARNING, SEVERE, OFF.
Typ: string
verbose
Logowanie szczegółowe (równoważne z --log-level=ALL)
Typ: boolean
silent
Nie loguj niczego (równoważne z --log-level=OFF)
Typ: boolean
appendLog
Dołącz plik dziennika zamiast nadpisywać.
Typ: boolean
replayable
Logowanie szczegółowe i brak skracania długich ciągów znaków, aby dziennik mógł być odtwarzany (eksperymentalne).
Typ: boolean
readableTimestamp
Dodaj czytelne znaczniki czasu do dziennika.
Typ: boolean
enableChromeLogs
Pokazuje dzienniki z przeglądarki (nadpisuje inne opcje logowania).
Typ: boolean
bidiMapperPath
Niestandardowa ścieżka do mappera bidi.
Typ: string
allowedIps
Rozdzielona przecinkami lista dozwolonych zdalnych adresów IP, które mogą łączyć się z EdgeDriver.
Typ: string[]
Domyślnie: ['']
allowedOrigins
Rozdzielona przecinkami lista dozwolonych źródeł żądań, które mogą łączyć się z EdgeDriver. Używanie * do zezwolenia na dowolne źródło hosta jest niebezpieczne!
Typ: string[]
Domyślnie: ['*']
spawnOpts
Opcje przekazywane do procesu sterownika.
Typ: SpawnOptionsWithoutStdio | SpawnOptionsWithStdioTuple<StdioOption, StdioOption, StdioOption>
Domyślnie: undefined
Zobacz wszystkie opcje Geckodriver w oficjalnym pakiecie sterownika.
Zobacz wszystkie opcje Edgedriver w oficjalnym pakiecie sterownika.
Zobacz wszystkie opcje Safaridriver w oficjalnym pakiecie sterownika.
Specjalne możliwości dla konkretnych przypadków użycia
To lista przykładów pokazujących, które możliwości należy zastosować, aby osiągnąć określony przypadek użycia.