Bài Tập 3: Viết Test dùng POM¶
Yêu Cầu¶
Viết test case sử dụng Page Object đã tạo ở bài tập 1 và 2.
Hướng Dẫn¶
Bước 1: Import Page Object¶
import { test, expect } from '@playwright/test';
import { LoginPage } from '../pages/LoginPage';
import { ShopPage } from '../pages/ShopPage';
Bước 2: Viết test flow hoàn chỉnh¶
// tests/full-flow.spec.ts
import { test, expect } from '@playwright/test';
import { LoginPage } from '../pages/LoginPage';
import { ShopPage } from '../pages/ShopPage';
test('test full flow: login and search product', async ({ page }) => {
// 1. Login
const loginPage = new LoginPage(page);
await loginPage.goto();
await loginPage.login('_______________', '_______________');
await loginPage.expectLoginSuccess();
// 2. Tìm kiếm sản phẩm
const shopPage = new ShopPage(page);
await shopPage.goto();
await shopPage.searchProduct('_______________');
await shopPage.expectProductVisible('_______________');
});
Bước 3: Chạy test¶
Checklist¶
Gợi ݶ
Click để xem solution
// tests/full-flow.spec.ts
import { test, expect } from '@playwright/test';
import { LoginPage } from '../pages/LoginPage';
import { ShopPage } from '../pages/ShopPage';
test('test full flow: login and search product', async ({ page }) => {
// 1. Login
const loginPage = new LoginPage(page);
await loginPage.goto();
await loginPage.login('testuser123', 'Test@123456');
await loginPage.expectLoginSuccess();
// 2. Tìm kiếm sản phẩm
const shopPage = new ShopPage(page);
await shopPage.goto();
await shopPage.searchProduct('Android');
await shopPage.expectProductVisible('Android');
});
Nộp Bài¶
- [ ] File test hoàn chỉnh
- [ ] Test pass