اتوماسیون با WebDriver BiDi اکنون در BrowserStack در دسترس است

طی سه سال گذشته، تیم اتوماسیون مرورگر کروم با سایر تولیدکنندگان بزرگ مرورگر و ابزار مانند BrowserStack برای ایجاد WebDriver BiDi - یک پروتکل جدید اتوماسیون مرورگر که گردش کار اتوماسیون دو جهته را در بین مرورگرها فعال می‌کند، همکاری کرده است. این گردش‌های کاری قبلاً فقط با پروتکل اختصاصی Chrome DevTools در مرورگرهای مبتنی بر Chromium امکان‌پذیر بود.

امروز نقطه عطف مهمی از این تلاش مشترک است زیرا WebDriver BiDi بالاخره برای توسعه‌دهندگان آماده تولید می‌شود و امروز با BrowserStack شروع می‌شود.

سلنیوم و مرورگر استک

اخیراً BrowserStack یک شریک رسمی توسعه Selenium شد ، یک چارچوب اتوماسیون مرورگر بالغ و منبع باز که همچنین به WebDriver BiDi کمک کرد. این مشارکت گواهی بر سرمایه‌گذاری مستمر BrowserStack در یک اکوسیستم آزمایشی پررونق است، با BrowserStack که چندین نگهدارنده اصلی سلنیوم را نیز به کار می‌گیرد.

بخشی از پروژه سلنیوم سلنیوم گرید است که به شما امکان می‌دهد آزمایش‌ها را در چندین دستگاه به صورت موازی انجام دهید. اما راه‌اندازی یک Grid به تنهایی، به‌دست آوردن و نگهداری ده‌ها دستگاه مختلف، و در دسترس نگه‌داشتن آنها می‌تواند برای برخی چالش‌برانگیز یا حتی غیرممکن باشد.

راه‌حل‌های Hosted Selenium Grid مانند BrowserStack می‌توانند اجرای آزمایش‌های شما را در بسیاری از پلتفرم‌ها و دستگاه‌های مختلف آسان‌تر کنند - بدون اینکه خودتان آنها را مدیریت کنید.

WebDriver BiDi در شبکه سلنیوم

سلنیوم بر اساس استاندارد WebDriver است (به BiDi گمشده توجه کنید) اما مدتی است که از WebDriver BiDi پشتیبانی آزمایشی داشته است. از امروز، می‌توانید از دستورات WebDriver BiDi در تولید در شبکه سلنیوم میزبان BrowserStack استفاده کنید!

این در نهایت ویژگی‌هایی مانند رهگیری درخواست، شبیه‌سازی پیشرفته، و مدیریت رویدادهای مرورگر را در زمان واقعی - و نه فقط در Chrome، بلکه در هر مرورگری که از WebDriver BiDi پشتیبانی می‌کند، فعال می‌کند.

مثال زیر نحوه گوش دادن به رویدادهای گزارش را با استفاده از WebDriver BiDi در BrowserStack نشان می دهد. سیاهههای مربوطه نیز برای بازرسی در 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 تازه شروع کار است

تیم اتوماسیون مرورگر کروم به تیم BrowserStack برای راه‌اندازی پشتیبانی WebDriver BiDi امروز تبریک می‌گوید! ما همچنین مشتاقانه منتظریم تا شاهد گسترش پشتیبانی از WebDriver BiDi در سراسر BrowserStack، ابزارهای دیگر مانند Selenium و همچنین سایر مرورگرهای اصلی در هفته های آینده باشیم.

و اگر این اعلامیه شما را در مورد آزمایش هیجان زده کرد، اما هنوز سفر آزمایشی خود را شروع نکرده اید، حتماً دوره آموزش تست ما را در web.dev بررسی کنید .