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