基于 Node.js 的下一代浏览器和移动自动化测试框架
在真实环境中进行测试
WebdriverIO 允许您在用户使用的实际浏览器或移动设备中进行测试。
多功能且功能丰富
使用 WebdriverIO 进行完整的端到端测试或浏览器中的单元和组件测试。
自动等待
WebdriverIO 会自动等待元素出现,然后再与它们交互。
import { $, expect } from '@wdio/globals'
import { render } from '@testing-library/vue'
import HelloWorld from '../../src/components/HelloWorld.vue'
describe('Component Testing', () => {
it('increments value on click', async () => {
const { getByText } = render(HelloWorld)
const btn = getByText('count is 0')
// transform into WebdriverIO element
const button = await $(btn)
// interact with element like a real user
await button.click()
await button.click()
await expect(button).toMatchInlineSnapshot(
"count is 2"
)
})
})
在几秒钟内开始使用 WebdriverIO
WebdriverIO 测试运行器带有一个命令行界面,该界面提供了一个强大的配置实用程序,并帮助您在不到一分钟的时间内创建测试设置。它允许您从可用的测试框架集成中进行选择,并轻松添加所有支持的报告程序和服务插件!
只需一个简单的命令,即可设置完整的测试套件
$ npm init wdio@latest ./
开始了解有关 WebdriverIO 及其如何开始使用的更多信息在 YouTube 上。
观看有关 WebdriverIO 的演讲
WebdriverIO 周围的社区积极地在各种用户组或会议上讨论有关使用 WebdriverIO 进行自动化测试的特定主题。查看 Julia Pottinger 在开放质量大会上关于我最喜欢的 WebdriverIO 功能的演讲。Julia Pottinger
还有许多 YouTube 频道,社区成员提供了有用的教程,例如Klamping、Seventeenth Sep 或Automation Bro。
Google Lighthouse 集成
WebdriverIO 不仅运行基于 WebDriver 协议的自动化,还利用原生浏览器 API 来启用与流行的开发者工具(如Chrome DevTools 或Google Lighthouse)的集成。@wdio/lighthouse-service
插件允许您访问命令,用于验证您的应用是否为有效的 PWA 应用,以及用于捕获前端性能指标(如 `speedIndex` 等)的命令。
await browser.emulateDevice('iPhone X')
await browser.enablePerformanceAudits({
networkThrottling: 'Good 3G',
cacheEnabled: true,
formFactor: 'mobile'
})
// open application under test
await browser.url('https://127.0.0.1:3000')
expect(await browser.getMetrics().firstMeaningfulPaint)
.toBeBelow(2500)
const pwaCheckResult = await browser.checkPWA()
expect(pwaCheckResult.passed).toBe(true)
开源和开放治理
我们是一个开源项目,坚定致力于透明度和社区治理。我们是OpenJS 基金会的一部分,该基金会是Linux 基金会的一部分。该项目完全由志愿者运营,并由希望看到项目成功的投资公司资助。项目团队感谢这些公司的慷慨赞助。
💎 高级赞助商
🥇 金牌赞助商
如果您在组织中使用 WebdriverIO,请考虑通过成为赞助商来支持该项目。这将有助于我们保持项目的运行和发展。