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

根据您所说的,让我澄清一下,硒网格不会在一个测试套件下运行多个单元测试,因为如果您在一个文件(例如 apple.rb)中的一个测试套件下有 4 个测试,因为当运行测试文件,rspec 将按顺序运行它们,最终 sel grid 将按顺序运行它们。

Selenium 网格虽然会同时运行多个请求到达集线器。因此,例如,如果您有两个终端实例并从两个实例运行 apple.rb,则 Sel 网格将并行运行这些测试。

您可能正在寻找的是让 Rspec 并行运行各个测试。

这可以帮助https://github.com/grosser/parallel_tests

于 2012-05-09T20:54:57.507 回答