- 更新环境变量配置方式,使用 dotenv 库 - 重构员工登录和权限相关代码,提高可维护性 - 优化测试数据结构,增加类型注解 - 删除冗余代码,提高代码可读性
41 lines
1.3 KiB
TypeScript
41 lines
1.3 KiB
TypeScript
import { test as base } from '@playwright/test';
|
|
import { HomeNavigation } from '@/pages/homeNavigationPage.js';
|
|
import { TransferManagementPage } from '@/pages/inventory';
|
|
|
|
export const test = base.extend({
|
|
firstStaffPage: async ({ browser }, use) => {
|
|
const context = await browser.newContext({
|
|
storageState: '.auth/user_1.json',
|
|
});
|
|
const page = await context.newPage();
|
|
await page.goto(process.env.BASE_URL ?? '');
|
|
await use(page);
|
|
await context.close();
|
|
},
|
|
secondStaffPage: async ({ browser }, use) => {
|
|
const context = await browser.newContext({
|
|
storageState: '.auth/user_2.json',
|
|
});
|
|
const page = await context.newPage();
|
|
await page.goto(process.env.BASE_URL ?? '');
|
|
await use(page);
|
|
await context.close();
|
|
},
|
|
/**
|
|
* @type { HomeNavigation }
|
|
*/
|
|
staffHomeNavigation: async ({ firstStaffPage }, use) => {
|
|
const homeNavigation = new HomeNavigation(firstStaffPage);
|
|
await use(homeNavigation);
|
|
},
|
|
/**
|
|
* @type { TransferManagementPage }
|
|
*/
|
|
transferManagementPage: async ({ firstStaffPage }, use) => {
|
|
const transferManagementPage = new TransferManagementPage(firstStaffPage);
|
|
await use(transferManagementPage);
|
|
},
|
|
});
|
|
|
|
export { expect } from '@playwright/test';
|