Kontextus API
A Vitest egy kontextus modult tesz elérhetővé a @vitest/browser/context
belépési pontján keresztül. A 2.0-ás verziótól kezdve kis számú segédprogramot biztosít, amelyek hasznosak lehetnek a tesztekben.
userEvent
TIP
A userEvent
API részletes leírása az Interaktivitás API oldalon található.
/**
* Kezelő a felhasználói interakciókhoz. A támogatást a böngésző szolgáltatója (`playwright` vagy `webdriverio`) biztosítja.
* Ha `preview` szolgáltatóval használják, akkor a `@testing-library/user-event` segítségével szimulált eseményekre vált vissza.
* @experimental
*/
export const userEvent: {
setup: () => UserEvent;
cleanup: () => Promise<void>;
click: (element: Element, options?: UserEventClickOptions) => Promise<void>;
dblClick: (
element: Element,
options?: UserEventDoubleClickOptions
) => Promise<void>;
tripleClick: (
element: Element,
options?: UserEventTripleClickOptions
) => Promise<void>;
selectOptions: (
element: Element,
values: HTMLElement | HTMLElement[] | string | string[],
options?: UserEventSelectOptions
) => Promise<void>;
keyboard: (text: string) => Promise<void>;
type: (
element: Element,
text: string,
options?: UserEventTypeOptions
) => Promise<void>;
clear: (element: Element) => Promise<void>;
tab: (options?: UserEventTabOptions) => Promise<void>;
hover: (element: Element, options?: UserEventHoverOptions) => Promise<void>;
unhover: (element: Element, options?: UserEventHoverOptions) => Promise<void>;
fill: (
element: Element,
text: string,
options?: UserEventFillOptions
) => Promise<void>;
dragAndDrop: (
source: Element,
target: Element,
options?: UserEventDragAndDropOptions
) => Promise<void>;
};
commands
TIP
Ez az API részletesen leírásra kerül a Parancsok API oldalon.
/**
* Elérhető parancsok a böngészőhöz.
* A `server.commands` rövidítése.
*/
export const commands: BrowserCommands;
page
A page
export segédprogramokat nyújt az aktuális page
-gel való interakcióhoz.
WARNING
Bár a Playwright page
objektumának néhány segédprogramját is elérhetővé teszi, nem ugyanaz az objektumról van szó. Mivel a böngésző kontextus a böngészőben kerül kiértékelésre, a tesztek nem férnek hozzá a Playwright page
objektumához, mivel az a szerveren fut.
Használja a Parancsok API oldalt, ha hozzá kell férnie a Playwright page
objektumához.
export const page: {
/**
* Az iframe nézetméretének módosítása.
*/
viewport(width: number, height: number): Promise<void>;
/**
* Képernyőkép készítése a teszt iframe-ről vagy egy adott elemről.
* @returns A képernyőkép fájl elérési útja, vagy az elérési út és a base64.
*/
screenshot(
options: Omit<ScreenshotOptions, 'base64'> & { base64: true }
): Promise<{
path: string;
base64: string;
}>;
screenshot(options?: ScreenshotOptions): Promise<string>;
/**
* Az alapértelmezett `page` objektum kiterjesztése egyéni metódusokkal.
*/
extend(methods: Partial<BrowserPage>): BrowserPage;
/**
* Egy HTML elem becsomagolása egy `Locator`-ba. Elemek keresésekor a keresés mindig ezt az elemet adja vissza.
*/
elementLocator(element: Element): Locator;
/**
* Locator API-k. További részletekért lásd a dokumentációját.
*/
getByRole(role: ARIARole | string, options?: LocatorByRoleOptions): Locator;
getByLabelText(text: string | RegExp, options?: LocatorOptions): Locator;
getByTestId(text: string | RegExp): Locator;
getByAltText(text: string | RegExp, options?: LocatorOptions): Locator;
getByPlaceholder(text: string | RegExp, options?: LocatorOptions): Locator;
getByText(text: string | RegExp, options?: LocatorOptions): Locator;
getByTitle(text: string | RegExp, options?: LocatorOptions): Locator;
};
TIP
A getBy*
API a Lokátorok API oldalon van elmagyarázva.
FIGYELEM 3.2.0+
Megjegyzendő, hogy a screenshot
mindig base64 kódolt sztringet ad vissza, ha a save
értéke false
. Az path
ebben az esetben figyelmen kívül marad.
cdp
A cdp
export az aktuális Chrome DevTools Protocol munkamenetet biztosítja. Ez leginkább a könyvtárfejlesztők számára hasznos, akik eszközöket építenek rá.
WARNING
A CDP munkamenet csak a playwright
szolgáltatóval és csak a chromium
böngésző használatakor működik. Erről bővebben a Playwright CDPSession
dokumentációjában olvashat.
export const cdp: () => CDPSession;
server
A server
export a Node.js környezetet képviseli, ahol a Vitest szerver fut. Ez leginkább hibakeresésre vagy a tesztek környezetfüggő korlátozására hasznos.
export const server: {
/**
* A platform, amelyen a Vitest szerver fut.
* Ugyanaz, mint a `process.platform` hívása a szerveren.
*/
platform: Platform;
/**
* A Vitest szerver futásidejű verziója.
* Ugyanaz, mint a `process.version` hívása a szerveren.
*/
version: string;
/**
* A böngésző szolgáltatójának neve.
*/
provider: string;
/**
* Az aktuális böngésző neve.
*/
browser: string;
/**
* Elérhető parancsok a böngészőhöz.
*/
commands: BrowserCommands;
/**
* Szerializált tesztkonfiguráció.
*/
config: SerializedConfig;
};