Bağlam API
Vitest, @vitest/browser/context
giriş noktası aracılığıyla bir bağlam modülü sunar. 2.0 sürümünden itibaren, testlerinizde faydalı olabilecek küçük bir yardımcı program seti sağlar.
userEvent
TIP
userEvent
API'si Etkileşim API'si bölümünde ayrıntılı olarak açıklanmıştır.
/**
* Kullanıcı etkileşimlerini simüle etmek için bir yardımcı program. Destek, tarayıcı sağlayıcısı (`playwright` veya `webdriverio`) tarafından sağlanır.
* `preview` sağlayıcısı ile kullanılırsa, `@testing-library/user-event` aracılığıyla simüle edilmiş olaylara geri döner.
* @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
Bu API, Komutlar API'si bölümünde ayrıntılı olarak açıklanmıştır.
/**
* Tarayıcı için kullanılabilir komutlar.
* `server.commands` için kısa yoldur.
*/
export const commands: BrowserCommands;
page
page
dışa aktarımı, mevcut tarayıcı sayfasıyla etkileşim kurmak için yardımcı programlar sağlar.
WARNING
Playwright'ın page
nesnesinden bazı yardımcı programları sağlasa da, aynı nesne değildir. Tarayıcı bağlamı tarayıcıda çalıştığı için, testleriniz Playwright'ın page
nesnesine doğrudan erişemez çünkü bu nesne sunucuda çalışır.
Playwright'ın page
nesnesine erişmeniz gerekiyorsa Komutlar API'si kullanın.
export const page: {
/**
* iframe'in görüntü alanının boyutunu değiştirir.
*/
viewport(width: number, height: number): Promise<void>;
/**
* Test iframe'inin veya belirli bir öğenin ekran görüntüsünü alır.
* @returns Ekran görüntüsü dosyasının yolu veya yolu ve base64 verisi.
*/
screenshot(
options: Omit<ScreenshotOptions, 'base64'> & { base64: true }
): Promise<{
path: string;
base64: string;
}>;
screenshot(options?: ScreenshotOptions): Promise<string>;
/**
* Varsayılan `page` nesnesini özel yöntemlerle genişletmek için kullanılır.
*/
extend(methods: Partial<BrowserPage>): BrowserPage;
/**
* Bir HTML öğesini `Locator` ile sarmalar. Öğeleri sorgularken, bu öğe her zaman döndürülecektir.
*/
elementLocator(element: Element): Locator;
/**
* Locator API'leri. Daha fazla ayrıntı için belgelerine bakın.
*/
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
getBy*
API'si Locators API'si bölümünde açıklanmıştır.
cdp
cdp
dışa aktarımı, mevcut Chrome Geliştirici Araçları Protokolü (CDP) oturumunu döndürür. Çoğunlukla kütüphane yazarları için üzerine araçlar geliştirmek amacıyla kullanışlıdır.
WARNING
CDP oturumu yalnızca playwright
sağlayıcısı ile ve yalnızca chromium
tarayıcısı kullanılırken çalışır. Playwright'ın CDPSession
belgelerine bakarak bu konuda daha fazla bilgi edinebilirsiniz.
export const cdp: () => CDPSession;
server
server
dışa aktarımı, Vitest sunucusunun çalıştığı Node.js ortamını temsil eder. Çoğunlukla hata ayıklama veya testlerinizi ortama bağlı olarak sınırlandırma için kullanışlıdır.
export const server: {
/**
* Vitest sunucusunun çalıştığı platformu.
* Sunucuda `process.platform` çağırmakla aynıdır.
*/
platform: Platform;
/**
* Vitest sunucusunun çalışma zamanı sürümünü.
* Sunucuda `process.version` çağırmakla aynıdır.
*/
version: string;
/**
* Tarayıcı sağlayıcısının adını.
*/
provider: string;
/**
* Mevcut tarayıcının adını.
*/
browser: string;
/**
* Tarayıcı için kullanılabilir komutları.
*/
commands: BrowserCommands;
/**
* Serileştirilmiş test yapılandırmasını.
*/
config: SerializedConfig;
};