- Tác giả
- Name
- Nguyễn Đức Xinh
- Ngày xuất bản
- Ngày xuất bản
Playwright Configuration – Tối ưu cấu hình kiểm thử tự động
Playwright cung cấp một file cấu hình trung tâm playwright.config.ts
, cho phép bạn dễ dàng:
- Quản lý cấu hình toàn cục cho test
- Chạy test trên nhiều trình duyệt
- Đặt cấu hình theo môi trường khác nhau (dev, staging, production)
- Thiết lập mặc định như
timeout
,retries
,screenshot
,trace
, v.v
1. Tạo file cấu hình Playwright
Khi bạn khởi tạo dự án Playwright (npx playwright init
), hệ thống sẽ tự tạo file playwright.config.ts
. Bạn cũng có thể tự tạo nó như sau:
touch playwright.config.ts
Ví dụ file cấu hình:
// playwright.config.ts
import { defineConfig } from '@playwright/test';
export default defineConfig({
testDir: './tests',
timeout: 30000,
retries: 1,
workers: 2,
fullyParallel: true,
use: {
baseURL: 'https://dummy-demo-njndex.web.app',
headless: true,
trace: 'on-first-retry',
screenshot: 'only-on-failure',
video: 'retain-on-failure',
},
});
2. Giải thích các thuộc tính chính
Thuộc tính | Mô tả |
---|---|
testDir |
Thư mục chứa các file test |
timeout |
Thời gian tối đa cho mỗi test (ms) |
retries |
Số lần chạy lại test nếu bị fail |
workers |
Số lượng tiến trình chạy song song |
fullyParallel |
Cho phép chạy toàn bộ test song song |
use.baseURL |
URL mặc định cho các test |
use.headless |
Chạy trình duyệt headless |
use.trace |
Bật trace để dễ debug |
use.screenshot |
Tùy chọn chụp ảnh khi fail |
use.video |
Quay lại video nếu test fail |
3. Chạy test đa trình duyệt với projects
Bạn có thể định nghĩa nhiều project để chạy test đồng thời trên các trình duyệt khác nhau:
projects: [
{ name: 'Chromium', use: { browserName: 'chromium' } },
{ name: 'Firefox', use: { browserName: 'firefox' } },
{ name: 'WebKit', use: { browserName: 'webkit' } },
],
Khi chạy npx playwright test
, các test sẽ được chạy song song trên từng browser.
4. Chạy test theo môi trường
Giả sử bạn muốn chạy test trên các môi trường khác nhau: localhost
, staging
, hoặc production
. Hãy sử dụng biến môi trường để linh hoạt cấu hình.
Cách dùng:
const baseURL = process.env.BASE_URL || 'http://localhost:3000';
export default defineConfig({
use: {
baseURL,
headless: true
}
});
Chạy test:
BASE_URL=https://staging.example.com npx playwright test
5. Tách cấu hình theo môi trường
Bạn có thể tạo nhiều file config khác nhau:
playwright.config.ts
– Mặc định cho localplaywright.staging.config.ts
playwright.prod.config.ts
📁 playwright.staging.config.ts
:
import base from './playwright.config';
export default {
...base,
use: {
...base.use,
baseURL: 'https://staging.example.com',
}
}
Chạy:
npx playwright test --config=playwright.staging.config.ts
6. Một số thiết lập nâng cao khác
Thuộc tính | Ý nghĩa |
---|---|
testIgnore |
Bỏ qua một số file hoặc thư mục test |
testMatch |
Chỉ chạy các file test khớp pattern |
globalSetup |
Hàm setup toàn cục trước khi test chạy |
globalTeardown |
Cleanup sau khi test hoàn tất |
outputDir |
Thư mục lưu video/screenshot/trace |
7. Tổng kết
File playwright.config.ts
là trung tâm quản lý cấu hình test, giúp bạn:
- Chuẩn hóa cách chạy test
- Linh hoạt giữa nhiều môi trường
- Chạy đồng thời nhiều trình duyệt
- Dễ dàng tích hợp vào CI/CD