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 size faydalı olabilecek bir dizi yardımcı program 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şimleri için bir işleyici. Destek, tarayıcı sağlayıcısı (`playwright` veya `webdriverio`) tarafından sağlanır.
* `preview` sağlayıcısı ile kullanıldığında, `@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 bir kısayoldur.
*/
export const commands: BrowserCommands;page
page dışa aktarımı, mevcut sayfa ile etkileşim kurmak için yardımcı programlar sağlar.
WARNING
Playwright'ın page nesnesinden bazı yardımcı programlar sağlasa da, bu nesne Playwright'ın kendi page nesnesiyle aynı değildir. Tarayıcı bağlamı tarayıcıda çalıştığı için, testleriniz Playwright'ın page nesnesine doğrudan erişemez çünkü o sunucuda çalışır.
Playwright'ın page nesnesine erişmeniz gerekiyorsa Komutlar API'si kullanın.
export const page: {
/**
* iframe'in görünüm 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şletir.
*/
extend(methods: Partial<BrowserPage>): BrowserPage;
/**
* Bir HTML öğesini bir `Locator` içine sarar. Öğeler sorgulanırken, arama her zaman bu öğeyi döndürecektir.
*/
elementLocator(element: Element): Locator;
/**
* Locator API'leri. Daha fazla ayrıntı için belgelerine bakınız.
*/
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 Bulucular API'si bölümünde açıklanmıştır.
UYARI 3.2.0+
save false olarak ayarlanırsa screenshot'ın her zaman bir base64 dizesi döndüreceğini unutmayın. Bu durumda path değeri dikkate alınmaz.
cdp
cdp dışa aktarımı, mevcut Chrome Geliştirici Araçları Protokolü 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ıyla ve yalnızca chromium tarayıcısı kullanılırken çalışır. Bu konuda daha fazla bilgiyi Playwright'ın CDPSession belgelerinde bulabilirsiniz.
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 göre sınırlamak için kullanışlıdır.
export const server: {
/**
* Vitest sunucusunun çalıştığı platformu.
* Sunucuda `process.platform` çağrılmasıyla aynıdır.
*/
platform: Platform;
/**
* Vitest sunucusunun çalışma zamanı sürümünü.
* Sunucuda `process.version` çağrılmasıyla aynıdır.
*/
version: string;
/**
* Tarayıcı sağlayıcısının adı.
*/
provider: string;
/**
* Mevcut tarayıcının adı.
*/
browser: string;
/**
* Tarayıcı için kullanılabilir komutları.
*/
commands: BrowserCommands;
/**
* Serileştirilmiş test yapılandırmasını.
*/
config: SerializedConfig;
};