You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
haoliang-net/frontend/e2e/manual-verify.spec.ts

63 lines
2.3 KiB
TypeScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/**
* 手动验证脚本 - 逐个打开三个页面每页停留10秒供人眼观察
* 验证勾选checkbox后是否出现批量启用/停用/删除按钮
*/
import { test, type Page } from '@playwright/test'
const MOCK_TOKEN = 'mock-test-token'
test.beforeEach(async ({ page }) => {
await page.addInitScript((token) => {
localStorage.setItem('token', token)
}, MOCK_TOKEN)
})
// 重置mock数据
async function resetMock(page: Page, endpoint: string) {
await page.evaluate(async (url) => {
await fetch(url, { method: 'POST' })
}, endpoint)
}
async function openPage(page: Page, path: string, resetEndpoint: string) {
await page.goto(path, { waitUntil: 'networkidle' })
await resetMock(page, resetEndpoint)
await page.reload({ waitUntil: 'networkidle' })
await page.waitForSelector('.el-table', { timeout: 15000 })
}
test('设备管理 - 打开页面截图(未勾选)', async ({ page }) => {
await openPage(page, '/mock/machine', '/mock-api/test/reset-machines')
await page.screenshot({ path: 'test-results/manual-machine-no-select.png', fullPage: true })
// 勾选第1行
await page.locator('.el-table__body .el-checkbox').first().click()
await page.waitForTimeout(1000)
await page.screenshot({ path: 'test-results/manual-machine-selected.png', fullPage: true })
// 等待10秒供人眼观察
await page.waitForTimeout(10000)
})
test('员工管理 - 打开页面截图(未勾选)', async ({ page }) => {
await openPage(page, '/mock/worker', '/mock-api/test/reset-workers')
await page.screenshot({ path: 'test-results/manual-worker-no-select.png', fullPage: true })
await page.locator('.el-table__body .el-checkbox').first().click()
await page.waitForTimeout(1000)
await page.screenshot({ path: 'test-results/manual-worker-selected.png', fullPage: true })
await page.waitForTimeout(10000)
})
test('采集地址 - 打开页面截图(未勾选)', async ({ page }) => {
await openPage(page, '/mock/collect-address', '/mock-api/test/reset-addresses')
await page.screenshot({ path: 'test-results/manual-address-no-select.png', fullPage: true })
await page.locator('.el-table__body .el-checkbox').first().click()
await page.waitForTimeout(1000)
await page.screenshot({ path: 'test-results/manual-address-selected.png', fullPage: true })
await page.waitForTimeout(10000)
})