Framework kiểm thử tự động hóa trình duyệt và di động thế hệ mới cho Node.js
Kiểm thử trong Môi trường Thực
WebdriverIO cho phép bạn kiểm thử trên trình duyệt thực tế hoặc thiết bị di động được sử dụng bởi người dùng của bạn.
Linh hoạt và Giàu tính năng
Sử dụng WebdriverIO cho kiểm thử end-to-end hoặc kiểm thử đơn vị và thành phần trong trình duyệt.
Tự động Chờ đợi
WebdriverIO tự động chờ các phần tử xuất hiện trước khi tương tác với chúng.
Dựa trên Tiêu chuẩn Web
Hỗ trợ đa trình duyệt thông qua tự động hóa với WebDriver và WebDriver Bidi.
Hỗ trợ Di động Gốc
Chạy WebdriverIO trên thiết bị di động thực, smart TV hoặc các thiết bị IoT khác thông qua Appium.
Cộng đồng Tận tâm
Vận hành một kênh hỗ trợ với hơn 8 nghìn thành viên và một hệ sinh thái phong phú của các plugin được cộng đồng duy trì.
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"
)
})
})
Kiểm thử E2E và Đơn vị / Th ành phần trong trình duyệt thực!
WebdriverIO là một framework tất cả trong một cho phát triển ứng dụng web của bạn. Nó cho phép bạn chạy các bài kiểm thử thành phần nhỏ gọn cũng như các kịch bản kiểm thử e2e trong trình duyệt hoặc trên thiết bị di động. Điều này đảm bảo rằng bạn thực hiện kiểm thử trong môi trường được sử dụng bởi người dùng của bạn.
Nó đi kèm với các chiến lược bộ chọn thông minh giúp đơn giản hóa việc tương tác, ví dụ: với React components hoặc chạy các truy vấn bộ chọn sâu với cấu trúc shadow DOM lồng nhau. Vì các tương tác diễn ra thông qua giao thức tự động hóa tiêu chuẩn, nên đảm bảo chúng hoạt động tự nhiên và không chỉ được mô phỏng bằng JavaScript.
Bắt đầu với WebdriverIO trong Vài Giây
Testrunner của WebdriverIO đi kèm với giao diện dòng lệnh cung cấp tiện ích cấu hình mạnh mẽ và giúp bạn tạo môi trường kiểm thử trong chưa đầy một phút. Nó cho phép bạn lựa chọn từ các tích hợp framework kiểm thử có sẵn và dễ dàng thêm tất cả các plugin reporter và service được hỗ trợ!
Chỉ với một lệnh đơn giản, bạn có thể thiết lập một bộ kiểm thử hoàn chỉnh:
$ npm init wdio@latest ./
Bắt đầu tìm hiểu thêm về WebdriverIO và cách bắt đầu trên YouTube.
Xem các bài nói về WebdriverIO
Cộng đồng xung quanh WebdriverIO đang tích cực phát biểu tại các nhóm người dùng hoặc hội nghị khác nhau về các chủ đề cụ thể xoay quanh kiểm thử tự động với WebdriverIO. Hãy xem bài nói này trên Các tính năng WebdriverIO yêu thích của tôi của Julia Pottinger tại Open Quality Conference.
Ngoài ra còn có nhiều kênh YouTube với các hướng dẫn hữu ích từ các thành viên cộng đồng như Klamping, Seventeenth Sep hoặc Automation Bro.
Tích hợp Google Lighthouse
WebdriverIO không chỉ chạy tự động hóa dựa trên giao thức WebDriver, mà còn tận dụng API trình duyệt gốc để kích hoạt tích hợp với các công cụ phát triển phổ biến như Chrome DevTools hoặc Google Lighthouse. Với plugin @wdio/lighthouse-service
, bạn có quyền truy cập vào các lệnh để xác thực xem ứng dụng của bạn có phải là ứng dụng PWA hợp lệ hay không cũng như các lệnh để thu thập số liệu hiệu suất giao diện người dùng như `speedIndex` và các số liệu khác.
await browser.emulate('device', 'iPhone X')
await browser.enablePerformanceAudits({
networkThrottling: 'Good 3G',
cacheEnabled: true,
formFactor: 'mobile'
})
// open application under test
await browser.url('https://localhost:3000')
expect(await browser.getMetrics().firstMeaningfulPaint)
.toBeBelow(2500)
const pwaCheckResult = await browser.checkPWA()
expect(pwaCheckResult.passed).toBe(true)
Mã nguồn mở và Quản trị mở
Chúng tôi là một dự án mã nguồn mở với cam kết mạnh mẽ về tính minh bạch và quản trị cộng đồng. Chúng tôi là một phần của OpenJS Foundation thuộc Linux Foundation. Dự án được vận hành hoàn toàn bởi tình nguyện viên và được tài trợ bởi các công ty đầu tư mong muốn dự án thành công. Nhóm dự án biết ơn sự tài trợ hào phóng của những công ty này.
💎 Nhà tài trợ Premium
🥇 Nhà tài trợ Vàng
Nếu bạn sử dụng WebdriverIO trong tổ chức của mình, vui lòng cân nhắc hỗ trợ dự án bằng cách trở thành nhà tài trợ. Điều này sẽ giúp chúng tôi duy trì và phát triển dự án.
We’d like to extend our heartfelt thanks to all the contributors who have helped make WebdriverIO the powerful tool it is today. Your dedication and effort are truly appreciated!