1
  • GUI 自動化ツール: Webdriver
  • 並列実行:Selenium Grid 2
  • スクリプト言語: Ruby
  • BDD ツール : Rspec

私のテストは次のようになります:

def set_up
  @driver = Selenium::WebDriver.for(:remote,:url => "http://localhost:4444",
    :desired_capabilities => :firefox)
end

def clean_up
  @driver.quit
end

it "test_direct_log_in" do
  @log_in_page = Page.new(@driver).go_to_log_in_Page
  @log_in_page.login("apple@gmail.com","password")
  Assert.new(@driver).verify_text_present("My Dashboard")
end

it "test_direct_log_in" do
  @log_in_page = Page.new(@driver).go_to_log_in_Page
  @log_in_page.login("banana@gmail.com","password")
  Assert.new(@driver).verify_text_present("My Dashboard")
end

手順 :

  • java -jar selenium-server-staalone-2.3.0.jar -role hub を使用してハブを起動します
  • java -jar selenium-server-standalone-2.21.0.jar -role node -hub http://localhost:4444/grid/register -maxsession=20 -port 5555を使用してノードをハブに割り当てました

テストを順番に実行できます..実際の問題は、テストを並行して実行できないことです...

どんな助けでも大歓迎です。

4

1 に答える 1

3

あなたが言ったことに基づいて、セレングリッドは1つのテストスイートで複数のユニットテストを実行しないことを明確にしましょう。テストファイルが実行されると、rspec はそれらを順番に実行し、最終的に sel grid はそれらを順番に実行します。

ただし、Selenium グリッドは、ハブに同時にヒットする複数のリクエストを実行します。たとえば、2 つのターミナル インスタンスがあり、両方のインスタンスから apple.rb を実行すると、Sel グリッドはこれらのテストを並行して実行します。

あなたが探しているのは、Rspec を作成して個々のテストを並行して実行することです。

これはhttps://github.com/grosser/parallel_testsに役立つ可能性があります

于 2012-05-09T20:54:57.507 に答える