47 lines
2.2 KiB
TypeScript
47 lines
2.2 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');
|
|
|
|
await page.goto(baseURL!);
|
|
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 });
|
|
});
|
|
}
|