API

vitest-environment-web-ext 提供的测试 API

概述

vitest-environment-web-ext 会在测试上下文中注入一些便捷方法,方便你快速访问浏览器扩展的各个部分。

context

测试环境的 Playwright 上下文,可用于创建自定义页面或执行更底层的操作。

test/extension.test.ts
import { expect, test } from 'vitest'

test('自定义测试', async () => {
  const newPage = await context.newPage()
  await newPage.goto('https://example.com')
  expect(await newPage.title()).toBe('Example')
})

browser

getPopupPage()

获取浏览器扩展的弹出窗口(Popup)页面。

test/extension.test.ts
import { expect, test } from 'vitest'

test('弹出窗口应正确显示', async () => {
  const popupPage = await browser.getPopupPage()
  
  const title = await popupPage.title()
  expect(title).toBeTruthy()
  
  const content = await popupPage.textContent('body')
  expect(content).toContain('Hello')
})

getSidePanelPage()

获取浏览器扩展的侧边栏(Side Panel)页面。

test/extension.test.ts
import { expect, test } from 'vitest'

test('侧边栏应正确显示', async () => {
  const sidePanelPage = await browser.getSidePanelPage()
  
  const title = await sidePanelPage.title()
  expect(title).toBeTruthy()
})

getManifest()

获取浏览器扩展的 manifest.json 内容。

test/extension.test.ts
import { expect, test } from 'vitest'

test('manifest 应包含正确的配置', async () => {
  const manifest = await browser.getManifest()
  
  expect(manifest.name).toBe('My Extension')
  expect(manifest.version).toBe('1.0.0')
  expect(manifest.manifest_version).toBe(3)
})

如果你有其他需求,欢迎提交 Issue 或 Pull Request 来帮助改进这个项目。