Skip to content

Commit

Permalink
revised e2e test cases based on enhancements
Browse files Browse the repository at this point in the history
  • Loading branch information
eric2788 committed Apr 13, 2024
1 parent 1d7ead2 commit 0fc3cb9
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 0 deletions.
28 changes: 28 additions & 0 deletions tests/content.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -195,13 +195,15 @@ test('測試重新启动按鈕', async ({ content, optionPageUrl, context }) =>

test('測試弹出直播视窗按鈕', async ({ context, optionPageUrl, content }) => {

logger.info('正在修改設定...')
const settingsPage = await context.newPage()
await settingsPage.goto(optionPageUrl, { waitUntil: 'domcontentloaded' })
await settingsPage.getByText('功能设定').click()
await settingsPage.getByText('启用弹出直播视窗').click()
await settingsPage.getByText('保存设定').click()
await settingsPage.close()

logger.info('正在測試弹出直播视窗按鈕...')
await content.getByText('功能菜单').click()
await content.locator('#bjf-main-menu').waitFor({ state: 'visible' })

Expand All @@ -210,6 +212,7 @@ test('測試弹出直播视窗按鈕', async ({ context, optionPageUrl, content
const monitor = await popup
await monitor.waitForTimeout(2000)

logger.info('正在測試元素是否存在...')
// video container
await expect(monitor.locator('div#__plasmo > div#bjf-danmaku-container')).toBeVisible()

Expand All @@ -236,13 +239,15 @@ test('測試弹出直播视窗按鈕', async ({ context, optionPageUrl, content
'media-chrome-button#reload-btn' // custom button
]

logger.info('正在測試媒體控制按鈕是否存在...')
await monitor.locator('media-control-bar').hover()
for (const button of buttons) {
const locator = monitor.locator(button)
await expect(locator).toBeVisible()
}

// Test custom buttons
logger.info('正在測試媒體自定義按鈕...')

// danmaku button
await monitor.locator('media-control-bar').hover()
Expand All @@ -257,6 +262,29 @@ test('測試弹出直播视窗按鈕', async ({ context, optionPageUrl, content
await monitor.locator('#reload-btn').click()
await reload

logger.info('正在測試直播畫面有否正常播放....')
await monitor.waitForSelector('video', { state: 'visible' })

const beforeCurrentTime = await monitor.evaluate(() => {
return document.querySelector('video').currentTime
})
await monitor.waitForTimeout(3000)
const afterCurrentTime = await monitor.evaluate(() => {
return document.querySelector('video').currentTime
})
expect(afterCurrentTime).toBeGreaterThan(beforeCurrentTime)

const beforeBufferEnd = await monitor.evaluate(async () => {
const video = document.querySelector('video')
return video.buffered.end(video.buffered.length - 1)
})
await monitor.waitForTimeout(3000)
const afterBufferEnd = await monitor.evaluate(() => {
const video = document.querySelector('video')
return video.buffered.end(video.buffered.length - 1)
})
expect(afterBufferEnd).toBeGreaterThan(beforeBufferEnd)

await monitor.close()
})

Expand Down
11 changes: 11 additions & 0 deletions tests/pages/options.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -478,6 +478,17 @@ test('測試导航', async ({ page, serviceWorker }) => {
}
})

test('測試點擊使用指南', async ({ context, page }) => {

await page.getByText('功能设定').click()

const tutorial = context.waitForEvent('page')
await page.getByText('使用指南').click()
const tutorialPage = await tutorial

expect(tutorialPage.url()).toBe('https://eric2788.github.io/bilibili-vup-stream-enhancer/tutorials/')

})

async function compareTable(table: Locator, data: string[], index: number = 0): Promise<void> {
const rows = await table.locator('tbody tr').all()
Expand Down

0 comments on commit 0fc3cb9

Please sign in to comment.