Playwright'ı Yapılandırma
Varsayılan olarak, TypeScript, sağlayıcı seçeneklerini ve ekstra expect özelliklerini tanımaz. TypeScript'in özel seçenekler için tanımları alabilmesi için @vitest/browser/providers/playwright'a referans verdiğinizden emin olun:
/// <reference types="@vitest/browser/providers/playwright" />Alternatif olarak, bunu tsconfig.json dosyanızdaki compilerOptions.types alanına da ekleyebilirsiniz. Bu alanda herhangi bir şey belirtmenin @types/* paketlerinin otomatik yüklenmesini devre dışı bırakacağını unutmayın.
{
"compilerOptions": {
"types": ["@vitest/browser/providers/playwright"]
}
}Vitest, aynı dosyadaki tüm testleri çalıştırmak üzere tek bir sayfa açar. instances içindeki launch, connect ve context özelliklerini yapılandırabilirsiniz:
import { defineConfig } from 'vitest/config'
export default defineConfig({
test: {
browser: {
instances: [
{
browser: 'firefox',
launch: {},
connect: {},
context: {},
},
],
},
},
})WARNING
Vitest 3'ten önce, bu seçenekler test.browser.providerOptions özelliğinde yer alıyordu:
export default defineConfig({
test: {
browser: {
providerOptions: {
launch: {},
context: {},
},
},
},
});providerOptions artık kullanımdan kaldırılmıştır, yerine instances kullanılmalıdır.
launch
Bu seçenekler doğrudan playwright[browser].launch komutuna aktarılır. Komut ve mevcut argümanlar hakkında daha fazla bilgiyi Playwright belgelerinde okuyabilirsiniz.
WARNING
Vitest, launch.headless seçeneğini dikkate almayacaktır. Bunun yerine, test.browser.headless kullanın.
--inspect etkinleştirilirse Vitest'in hata ayıklama bayraklarını launch.args'a ekleyeceğini unutmayın.
connect 3.2.0+
Bu seçenekler doğrudan playwright[browser].connect komutuna iletilir. Komut ve mevcut argümanlar hakkında daha fazla bilgiyi Playwright belgelerinde okuyabilirsiniz.
WARNING
Bu komut mevcut bir Playwright sunucusuna bağlandığı için, launch seçenekleri yok sayılacaktır.
context
Vitest, browser.newContext() çağırarak her test dosyası için yeni bir bağlam oluşturur. Bu davranışı özel argümanlar belirterek ayarlayabilirsiniz.
TIP
Bağlamın, Playwright test çalıştırıcısındaki gibi her test için değil, her test dosyası için oluşturulduğunu unutmayın.
WARNING
Vitest, sunucunuz HTTPS üzerinden sunuluyorsa ignoreHTTPSErrors'u her zaman true olarak ayarlar. Ayrıca, MSW aracılığıyla modül taklidi için serviceWorkers'ı 'allow' olarak ayarlar.
Ayrıca, testler başsız modda çalışırken bu ayar kaybolabileceğinden, burada belirtmek yerine test.browser.viewport kullanılması önerilir.
actionTimeout 3.0.0+
- Varsayılan: zaman aşımı yok, 3.0.0'dan önce 1 saniye
Bu değer, Playwright'ın tüm erişilebilirlik kontrollerinin başarılı olmasını ve eylemin tamamlanmasını beklemek için varsayılan zaman aşımını ayarlar.
Eylem zaman aşımını eylem başına da yapılandırabilirsiniz:
import { page, userEvent } from '@vitest/browser/context';
await userEvent.click(page.getByRole('button'), {
timeout: 1_000,
});