This repository has been archived on 2025-04-22. You can view files and clone it, but cannot push or open issues or pull requests.
hlk_autotest/tests/setup/boss_auth.setup.ts
LingandRX d44f457d86 test(boss_cashier): 优化挂单测试流程
- 移除不必要的挂单数量记录步骤
- 简化挂单流程,每个员工只挂单一次
- 使用 expect.soft 进行软断言,提高测试稳定性
- 优化员工选择和挂单校验的代码结构
2025-03-23 11:54:08 +08:00

53 lines
2.4 KiB
TypeScript

import { test as setup } from '@playwright/test';
import { firstAccount, secondAccount } from '@/common/auth';
const regex = /^https?:\/\/(?:www\.)?hlk\.meiguanjia\.net\/$/;
/** @param personalizedPages 营销-个性化页面*/
const personalizedPages = '/#/marketing/brand/personalized';
const testAccountArray = [firstAccount, secondAccount];
for (let testAccount of testAccountArray) {
setup(`租户${testAccount.account}总部管理员登录`, async ({ page, baseURL }) => {
const account = testAccount.account;
const password = testAccount.password;
const authFile = testAccount.authFile;
const $phonePassIcon = page
.locator('div', { has: page.getByRole('textbox', { name: '请输入您的手机号码' }) })
.locator('.pass_svg');
try {
await page.goto(baseURL!, { timeout: 90 * 1000 });
} catch (error) {
console.log(error);
await page.bringToFront();
await page.reload();
}
await page.getByRole('textbox', { name: '请输入您的手机号码' }).fill(account);
await page.getByRole('textbox', { name: '请输入登录密码' }).fill(password);
await page.getByLabel('请同意慧来客隐私政策和用户协议').check();
await $phonePassIcon.waitFor();
await page.getByRole('button', { name: /登\s录/ }).click();
await page.getByRole('button', { name: /开\s单/ }).waitFor();
if (regex.test(baseURL!)) {
await page.goto(personalizedPages);
await page.getByRole('button', { name: '新增模块' }).waitFor();
const $sideIframe = page.locator('.side iframe').contentFrame();
const $logo = $sideIframe.locator('.bar_item', { hasText: '我的' }).locator('.logo');
await $logo.waitFor();
await page.reload();
await page.getByRole('textbox', { name: '请输入您的手机号码' }).fill(account);
await page.getByRole('textbox', { name: '请输入登录密码' }).fill(password);
await page.getByLabel('请同意慧来客隐私政策和用户协议').check();
await $phonePassIcon.waitFor();
await page.getByRole('button', { name: /登\s录/ }).click();
await page.getByRole('button', { name: /开\s单/ }).waitFor();
}
await page.context().storageState({ path: authFile, indexedDB: true });
});
}