Trong 3 năm qua, nhóm Tự động hoá trình duyệt của Chrome đã cộng tác với các nhà cung cấp trình duyệt và công cụ lớn khác như BrowserStack để tạo WebDriver BiDi—một giao thức tự động hóa trình duyệt mới cho phép quy trình tự động hoá hai chiều trên các trình duyệt. Các trước đây chỉ thực hiện được quy trình công việc với Công cụ cho nhà phát triển của Chrome Giao thức trong trình duyệt dựa trên Chromium.
Hôm nay đánh dấu một cột mốc quan trọng của nỗ lực chung này với tư cách là WebDriver BiDi cuối cùng cũng sẵn sàng phát hành công khai cho các nhà phát triển, bắt đầu với BrowserStack ngay hôm nay.
Selenium và BrowserStack
Gần đây, BrowserStack đã trở thành Đối tác phát triển chính thức của Selenium, một khung tự động hoá trình duyệt nguồn mở, hoàn thiện cũng góp phần vào WebDriver BiDi. Sự hợp tác này là minh chứng cho việc BrowserStack không ngừng vào một hệ sinh thái thử nghiệm phát triển mạnh mẽ, đồng thời BrowserStack cũng sử dụng một số nhà bảo trì cốt lõi của Selenium.
Một phần của dự án Selenium là Lưới Selenium, cho phép bạn chạy thử nghiệm song song trên nhiều thiết bị. Nhưng đặt lưới tự mình, mua và duy trì hàng chục thiết bị khác nhau, và việc cung cấp chúng có thể là thách thức hoặc thậm chí không thể đối với một số người.
Các giải pháp Lưới Selenium được lưu trữ như BrowserStack có thể giúp chạy thử nghiệm trên nhiều nền tảng và thiết bị mà không cần quản lý chúng trên của bạn.
WebDriver BiDi trên lưới Selenium
Selenium dựa trên tiêu chuẩn WebDriver (lưu ý BiDi bị thiếu) nhưng đã có hỗ trợ thử nghiệm cho WebDriver BiDi trong một thời gian. Kể từ hôm nay, bạn có thể sử dụng Các lệnh WebDriver BiDi trong phiên bản chính thức trên Lưới Selenium được lưu trữ của BrowserStack!
Cuối cùng, thao tác này sẽ bật các tính năng như chặn yêu cầu, mô phỏng nâng cao và xử lý các sự kiện trên trình duyệt trong thời gian thực—không chỉ trong Chrome, mà còn trong mọi trình duyệt hỗ trợ WebDriver BiDi.
Ví dụ sau cho biết cách theo dõi các sự kiện trong nhật ký, sử dụng WebDriver BiDi trên BrowserStack. Sau đó, bạn cũng có thể sử dụng nhật ký thu thập để kiểm tra automate.browserstack.com:
const webdriver = require('selenium-webdriver');
// Insert credentials from https://www.browserstack.com/accounts/profile/details
const USERNAME = '<YOUR_USERNAME>';
const ACCESS_KEY = '<YOUR_ACCESS_KEY>';
(async () => {
const driver = await (new webdriver.Builder()
.withCapabilities({
browserName: 'chrome',
'bstack:options': {
seleniumVersion: '4.22.0',
seleniumBidi: true, // Enable WebDriver BiDi.
},
})
.usingServer(
`https://${USERNAME}:${ACCESS_KEY}@hub-cloud.browserstack.com/wd/hub`
)
.build());
// Add a listener for log events.
await driver.script().addConsoleMessageHandler((logEntry) => {
console.log(logEntry.text);
});
await driver.get(
'https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html'
);
// Trigger a console log on the demo page.
await driver.findElement({ id: 'consoleLog' }).click();
await driver.quit();
// Inspect logs on automate.browserstack.com!
})();
BrowserStack chỉ là bước khởi đầu
Nhóm Tự động hoá trình duyệt Chrome xin chúc mừng đội ngũ tại BrowserStack ra mắt dịch vụ hỗ trợ WebDriver BiDi ngay hôm nay! Chúng tôi cũng muốn biết thấy hỗ trợ cho WebDriver BiDi mở rộng trên BrowserStack, các công cụ khác như Selenium, cũng như các trình duyệt lớn khác trong vài tuần tới.
Nếu thông báo này khiến bạn háo hức muốn thử nghiệm nhưng chưa bắt đầu hành trình thử nghiệm của bạn, hãy nhớ xem khoá học Tìm hiểu về kiểm thử trên web.dev.