W ciągu ostatnich 3 lat zespół ds. automatyzacji przeglądarek Chrome współpracy z innymi czołowymi dostawcami przeglądarek i narzędzi, takich jak BrowserStack, stworzenie WebDriver BiDi – nowego protokołu automatyzacji przeglądarek. który umożliwia dwukierunkową automatyzację pracy w różnych przeglądarkach. Te przepływy pracy były wcześniej możliwe tylko w przypadku zastrzeżonych Narzędzi deweloperskich w Chrome, Protokół w przeglądarkach opartych na Chromium.
Dzisiaj to ważny krok milowy w ramach naszej wspólnej pracy jako WebDriver BiDi w końcu staje się gotowy do wykorzystania w środowisku produkcyjnym dla programistów, zaczynając od BrowserStack dzisiaj.
Selenium i BrowserStack
Niedawno browserStack został oficjalnym partnerem ds. rozwoju Selenium, dopracowaną platformę automatyzacji przeglądarek typu open source, która również przyczyniła się WebDriver BiDi. Ta współpraca jest dowodem na nieprzerwaną działalność BrowserStack w prężnie działający ekosystem testowania. W przeglądarce BrowserStack kilku głównych koncernów selenowych.
Częścią projektu Selenium jest Selenium Grid, co pozwala prowadzić testy na kilku urządzeniach równolegle. Ale ustawianie siatki samodzielnie, przejmując i utrzymując dziesiątki różnych urządzeń. dla niektórych dostępność może być trudna, a nawet niemożliwa.
Hostowane rozwiązania Selenium Grid, takie jak BrowserStack, mogą ułatwić testów na wielu różnych platformach i urządzeniach – nie musisz zarządzać nimi na swoim własnych.
WebDriver BiDi w siatce Selenium
Selen jest oparty na standardzie WebDriver (zwróć uwagę na brakujący brak BiDi), ale eksperymentalna obsługa WebDriver BiDi już przez jakiś czas. Od dziś możesz korzystać z Polecenia BiDi WebDriver BiDi w środowisku produkcyjnym Selenium Grid na serwerze BrowserStack.
Pozwala to na korzystanie z takich funkcji jak przechwytywanie żądań, zaawansowana emulacja oraz obsługi zdarzeń przeglądarki w czasie rzeczywistym, nie tylko w Chrome, która obsługuje WebDriver BiDi.
Poniższy przykład pokazuje, jak nasłuchiwać zdarzeń z dziennika przy użyciu WebDriver BiDi w BrowserStack. Przechwycone logi są również dostępne do inspekcji w tych usługach: 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 to dopiero początek
Zespół ds. automatyzacji przeglądarki Chrome z gratulacjami zespołowi BrowserStack z okazji uruchomiliśmy obsługę WebDriver BiDi już dziś! Mamy też nadzieję, obsługa WebDriver BiDi wzbogaciła się o kolejne narzędzia w BrowserStack, takich jak Selenium, a w nadchodzących tygodniach na innych najpopularniejszych przeglądarkach.
Jeśli to powiadomienie zachęciło Cię do testowania, ale jeszcze nie zapoznaj się z naszym kursem Learn Testing na stronie web.dev.