WebdriverIO konfigurálása
Playwright vs WebdriverIO összehasonlítása
Ha még nem használja a WebdriverIO-t a projektjében, javasoljuk, hogy kezdje a Playwrighttal, mivel könnyebben konfigurálható és rugalmasabb API-val rendelkezik.
Alapértelmezés szerint a TypeScript nem ismeri fel a szolgáltatói opciókat és az extra expect tulajdonságokat. Győződjön meg róla, hogy hivatkozik a @vitest/browser/providers/webdriverio modulra, hogy a TypeScript felismerje az egyéni opciók definícióit:
/// <reference types="@vitest/browser/providers/webdriverio" />Alternatív megoldásként hozzáadhatja a compilerOptions.types mezőhöz a tsconfig.json fájlban. Ne feledje, hogy bármi megadása ebben a mezőben letiltja az @types/* csomagok automatikus betöltését.
{
"compilerOptions": {
"types": ["@vitest/browser/providers/webdriverio"]
}
}A Vitest egyetlen oldalon futtatja az összes tesztet ugyanabban a fájlban. Az instances tömbben konfigurálhatja a RemoteOptions-ban megadott bármely tulajdonságot:
import { defineConfig } from 'vitest/config'
export default defineConfig({
test: {
browser: {
instances: [
{
browser: 'chrome',
capabilities: {
browserVersion: 86,
platformName: 'Windows 10',
},
},
],
},
},
})WARNING
A Vitest 3 előtt ezek az opciók a test.browser.providerOptions tulajdonság alatt voltak:
export default defineConfig({
test: {
browser: {
providerOptions: {
capabilities: {},
},
},
},
});A providerOptions elavult, és helyette az instances tömböt kell használni.
A legtöbb elérhető opciót a WebdriverIO dokumentációjában találja. Ne feledje, hogy a Vitest figyelmen kívül hagyja az összes teszt futtatási opciót, mivel csak a webdriverio böngésző képességeit használjuk.
TIP
A leghasznosabb opciók a capabilities objektumban találhatók. A WebdriverIO támogatja az egymásba ágyazott képességeket, de a Vitest figyelmen kívül hagyja ezeket az opciókat, mert egy másik mechanizmust használunk több böngésző indításához.
Ne feledje, hogy a Vitest figyelmen kívül hagyja a capabilities.browserName beállítást. Ehelyett használja a test.browser.instances.name beállítást.