Skip to content

Commit 28c630a

Browse files
test(time-select;drop-times): add e2e UI test (#63)
1 parent 9a96141 commit 28c630a

14 files changed

+80
-0
lines changed

tests/drop-times/xdesign.spec.ts

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import { expect, test } from '@playwright/test'
2+
3+
test.describe('drop-times组件xdesign规范', () => {
4+
test('默认--UI截图', async ({ page }) => {
5+
page.on('pageerror', (exception) => expect(exception).toBeNull())
6+
await page.goto('drop-times#basic-usage')
7+
const demo = page.locator('#basic-usage .pc-demo')
8+
const bigPic = page.locator('#doc-layout div').filter({ hasText: '示例API基本用法详细用法参考如下示例当前选中值:drop' }).nth(2)
9+
await expect(demo).toBeInViewport()
10+
await expect(demo).toHaveScreenshot('basic-usage.png')
11+
12+
// hover时截图
13+
const input = demo.getByRole('textbox', { name: '请选择' })
14+
await input.hover()
15+
await expect(demo).toBeInViewport()
16+
await expect(demo).toHaveScreenshot('hover.png')
17+
18+
// 聚焦时截图
19+
await input.click()
20+
await expect(bigPic).toBeInViewport()
21+
await expect(bigPic).toHaveScreenshot('click.png')
22+
23+
// 聚焦时截图
24+
const select = page.getByText('00:30')
25+
await select.hover()
26+
await expect(bigPic).toBeInViewport()
27+
await expect(bigPic).toHaveScreenshot('focus-hover.png')
28+
29+
// 选中后截图
30+
await select.click()
31+
await expect(demo).toBeInViewport()
32+
await expect(demo).toHaveScreenshot('select.png')
33+
})
34+
})
Loading
Loading
Loading
Loading
Loading

tests/time-select/xdesign.spec.ts

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
import { expect, test } from '@playwright/test'
2+
3+
test.describe('time-select组件xdesign规范', () => {
4+
test('默认--UI截图', async ({ page }) => {
5+
page.on('pageerror', (exception) => expect(exception).toBeNull())
6+
await page.goto('time-select#basic-usage')
7+
const demo = page.locator('#basic-usage .pc-demo')
8+
const bigPic = page.locator('#doc-layout div').filter({ hasText: '示例API基本用法详细用法参考如下示例。time-' }).nth(2)
9+
await expect(demo).toBeInViewport()
10+
await expect(demo).toHaveScreenshot('basic-usage.png')
11+
12+
// hover时截图
13+
const input = demo.getByRole('textbox', { name: '选择时间' })
14+
await input.hover()
15+
await expect(demo).toBeInViewport()
16+
await expect(demo).toHaveScreenshot('hover.png')
17+
18+
// 聚焦时截图
19+
await input.focus()
20+
await expect(bigPic).toBeInViewport()
21+
await expect(bigPic).toHaveScreenshot('focus.png')
22+
23+
// 聚焦时截图
24+
const select = page.getByText('10:00')
25+
await select.hover()
26+
await expect(bigPic).toBeInViewport()
27+
await expect(bigPic).toHaveScreenshot('focus-hover.png')
28+
29+
// 选中时截图
30+
await select.click()
31+
await expect(demo).toBeInViewport()
32+
await expect(demo).toHaveScreenshot('select.png')
33+
34+
// 选中后清除图标截图
35+
const selectInput = demo.getByRole('textbox', { name: ':00' })
36+
await selectInput.hover()
37+
await expect(demo).toBeInViewport()
38+
await expect(demo).toHaveScreenshot('select-hover.png')
39+
40+
// 清除图标hover时截图
41+
const icon = page.getByLabel('示例', { exact: true }).locator('path').nth(1)
42+
await icon.hover()
43+
await expect(demo).toBeInViewport()
44+
await expect(demo).toHaveScreenshot('icon-hover.png')
45+
})
46+
})
Loading
Loading
Loading
Loading
Loading
Loading
Loading

0 commit comments

Comments
 (0)