Konfigurowanie Playwright
Domyślnie, TypeScript nie rozpoznaje opcji dostawców i dodatkowych właściwości expect. Upewnij się, że odwołujesz się do @vitest/browser/providers/playwright, aby TypeScript mógł pobrać definicje niestandardowych opcji:
/// <reference types="@vitest/browser/providers/playwright" />Alternatywnie, możesz również dodać to do pola compilerOptions.types w pliku tsconfig.json. Należy pamiętać, że określenie czegokolwiek w tym polu wyłączy automatyczne ładowanie pakietów @types/*.
{
"compilerOptions": {
"types": ["@vitest/browser/providers/playwright"]
}
}Vitest otwiera jedną stronę, aby uruchomić wszystkie testy z danego pliku. Możesz skonfigurować właściwości launch, connect i context w instances:
import { defineConfig } from 'vitest/config'
export default defineConfig({
test: {
browser: {
instances: [
{
browser: 'firefox',
launch: {},
connect: {},
context: {},
},
],
},
},
})WARNING
Przed Vitest 3 te opcje znajdowały się we właściwości test.browser.providerOptions:
export default defineConfig({
test: {
browser: {
providerOptions: {
launch: {},
context: {},
},
},
},
});providerOptions jest przestarzałe i zastąpione przez instances.
launch
Te opcje są bezpośrednio przekazywane do polecenia playwright[browser].launch. Więcej informacji na temat polecenia i dostępnych argumentów można znaleźć w dokumentacji Playwright.
WARNING
Vitest ignoruje opcję launch.headless. Zamiast tego zaleca się użycie test.browser.headless.
Należy pamiętać, że Vitest doda flagi debugowania do launch.args, jeśli --inspect jest włączone.
connect 3.2.0+
Te opcje są bezpośrednio przekazywane do polecenia playwright[browser].connect. Więcej informacji na temat polecenia i dostępnych argumentów można znaleźć w dokumentacji Playwright.
WARNING
Ponieważ to polecenie łączy się z już działającym serwerem Playwright, wszelkie opcje launch zostaną zignorowane.
context
Vitest tworzy osobny kontekst dla każdego pliku testowego, poprzez wywołanie browser.newContext(). Możesz skonfigurować to zachowanie, określając niestandardowe argumenty.
TIP
Należy pamiętać, że kontekst jest tworzony dla każdego pliku testowego, a nie dla każdego testu, jak w runnerze testów Playwright.
WARNING
Vitest zawsze ustawia ignoreHTTPSErrors na true (gdy Twój serwer używa HTTPS) oraz serviceWorkers na 'allow', aby wspierać mockowanie modułów za pomocą MSW.
Zaleca się również użycie test.browser.viewport zamiast określania go w tym miejscu, ponieważ zostanie utracony, gdy testy będą uruchamiane w trybie headless.
actionTimeout 3.0.0+
- Domyślnie: brak limitu czasu (przed wersją 3.0.0 wynosił 1 sekundę)
Ta wartość określa domyślny limit czasu, przez jaki Playwright czeka na zakończenie wszystkich sprawdzeń dostępności i faktyczne wykonanie akcji.
Możesz również skonfigurować limit czasu indywidualnie dla każdej akcji:
import { page, userEvent } from '@vitest/browser/context';
await userEvent.click(page.getByRole('button'), {
timeout: 1_000,
});