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;
};