- 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.tsplaywright.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
