使用🎭Ruby/Railsの脚本家


🎭PlayWrightは、ブラウザの自動化のための本当に素晴らしいライブラリです.マイクロソフトは既にいくつかの言語バインディングを発表しました.
  • タイプスクリプト:https://github.com/microsoft/playwright
  • Java(またはKoltlin):https://github.com/microsoft/playwright-java
  • 本のPython:https://github.com/microsoft/playwright-python
  • C
  • そして、脚本家試みは、公式である予定です.
    https://github.com/microsoft/playwright-dotnet

    https://github.com/microsoft/playwright/issues/6856 いいえRubyクライアント?


    RubyまたはRails開発者は、PlayWrightを受験テストまたは他のユースケースに使用したいと思いますが、現時点では利用できません.
    Playwrightチームは、Rubyクライアントをリリースする計画がないとはっきり言います.

    https://github.com/microsoft/playwright/issues/5874 RubyのユーザーはPlayWrightで満足すべきである!


    RubyはPythonやタイプスクリプトとして有名ではないが、多くのRailsユーザーはまだそれを使用していることは明らかです.
    Railsには既にアクセプタンステストフレームワーク( systemTestCase )が含まれていました.それは を使用して、ほとんどのユーザーはすでにカピバラに気軽にテストケースを生成する傾向が気づいた.
    PlayWrightは非常に巧妙なDOMセレクタを自動待機機能、および有用なユーティリティ機能を提供します.Internet Explorerが既に死んでいるので、セレンとカピバラを使い続ける理由はありません.
    幸いにも、Playwrightはサーバークライアントアーキテクチャです.我々は、ちょうど脚本APIクライアントを実装することによって、どんな言語ででも役に立つ特徴を使うことができます.
    Capybara

    Rubyでお試しください!


    私は実際にRubyの脚本家のクライアントを作成しました.

    Playwright.connect_to_playwright_server('ws://127.0.0.1:8080') do |playwright|
      playwright.chromium.launch do |browser|
        page = browser.new_page
        page.goto('https://github.com/YusukeIwaki')
        page.screenshot(path: './YusukeIwaki.png')
      end
    end
    
    PlayWireサーバを事前に起動しなければならないことに注意してください.

    https://github.com/YusukeIwaki/playwright-ruby-client レール上でお試しください!


    私も、劇作家のカピバラドライバーをつくりました.

    Capybara.register_driver(:playwright) do |app|
      Capybara::Playwright::Driver.new(app, browser_type: :firefox, headless: false)
    end
    Capybara.default_max_wait_time = 15
    Capybara.default_driver = :playwright
    
    カピバラDSLがサポートされ、我々はまた、テスト中にビデオを録画などの脚本家のネイティブ機能を使用することができます.
    https://github.com/YusukeIwaki/capybara-playwright-driver

    https://playwright-ruby-client.vercel.app/docs/article/guides/rails_integration#available関数と制限 結論


    PlayWrightのアーキテクチャは素晴らしいです、そして我々Ruby/Railsユーザーは、独自のPlayWrightクライアントAPIライブラリを開発することにより脚本家の機能を使用することができます.
    残念なことにマイクロソフトはRubyユーザーの努力をしず、Rubyの公式サポートを求めるのは難しい.