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.
playwright-demo/tests/hlk/demo.spec.js
rsgltzyd 6820c56508
Some checks are pending
Playwright Tests / test (push) Waiting to run
init demo
init

test

test

test

划分美管加、慧来客、智荟宝项目

新增美管加demo

新增npm命令

测试智荟宝

test

test

ii

csv

test

init

test

test

init

init
2024-11-07 21:48:46 +08:00

61 lines
2.9 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const { test, expect } = require('./fixtures/common');
const { Customer } = require('./pom/customer');
const { faker } = require('@faker-js/faker/locale/zh_CN');
test('登录touch和h5创建顾客购买会员卡使用顾客账号到h5商城购买货品', async ({
touchPage,
h5Page,
touchCustomerPage,
h5LoginPage,
}) => {
const phone = faker.helpers.fromRegExp(/1[3-9][0-1]{9}/);
const customer = new Customer(1, 1, { phone: phone });
await touchCustomerPage.createCustomer(customer);
/** @type string*/
let cardName;
await test.step('在touch页面购买会员卡', async () => {
await touchPage.getByText('去开单').click();
await touchPage.locator('.more > .icon > svg').click();
await touchPage.getByText('去开卡').click();
const $firstCard = touchPage.locator('.memberCard_box').first();
await $firstCard.click();
cardName = await $firstCard.locator('.card_name').innerText();
await touchPage.getByRole('button', { name: '去结算' }).click();
await touchPage.locator('.row').filter({ hasText: '总额' }).locator('.touchIcon').click();
await touchPage.getByPlaceholder('请输入内容').fill('1000');
await touchPage.locator('div').filter({ hasText: /^789$/ }).getByRole('button').nth(3).click();
await touchPage.locator('.paymentInfoItem', { hasText: '现金' }).click();
await touchPage.getByText('推送消费提醒').click();
await touchPage.getByLabel('结算签字').uncheck();
await touchPage.getByRole('button', { name: /结\s算/ }).click();
await touchPage.getByRole('button', { name: /跳\s过/ }).click();
});
await test.step('登录h5并且商城页面使用会员卡进行购买', async () => {
await h5LoginPage.login(customer.phone);
await h5Page.locator('.singIn_content > .iconfont').click();
const element = h5Page.locator('.coupon_content');
const boundingBox = await element.boundingBox();
if (boundingBox) {
const x = boundingBox.x + boundingBox.width / 2; // 元素水平中心
const y = boundingBox.y - 10; // 元素上侧空白区域
await h5Page.mouse.click(x, y);
}
await h5Page.locator('.bar_item', { hasText: '商城' }).click();
await expect(h5Page.locator('.title', { hasText: '商城' })).toBeVisible();
await h5Page.locator('.li span', { hasText: '全部' }).click();
await h5Page.locator('.p-item').nth(2).click();
await h5Page.getByText('立即购买').click();
await h5Page.locator('uni-text').filter({ hasText: '佘山二店' }).click();
await h5Page.getByText('确认').click();
await h5Page.getByText('哎哟代理卡').click();
await expect(h5Page.getByText('确认支付')).toBeEnabled();
await h5Page.getByText('确认支付').click();
await expect(h5Page.getByText('支付成功').first()).toBeVisible();
await expect(h5Page.getByText('查看订单')).toBeVisible();
});
});