gpt4 book ai didi

windows - *Windows* 中的并行 Cucumber/Watir 场景

转载 作者:可可西里 更新时间:2023-11-01 09:35:34 25 4
gpt4 key购买 nike

对于在 Windows 上并行运行 cucumber 场景我可以做什么/使用什么有什么想法吗?到目前为止,我已经尝试过(结果如下):

WatirGrid

必须使用 Ruby 线程才能实际“并行”运行。 这迫使我们将浏览器对象包装在一个线程中,因此 一旦线程 block 关闭就无法访问。 (不能传递浏览器对象 到 cucumber 环境)

九头蛇:

需要 SSH(和公钥)访问远程盒子(即没有 Windows)

Selenium 网格:

super 重,找不到清晰的 Cucumber 测试路径

测试日志:

需要 Bonjour(不适用于 Windows)

最佳答案

关于 Watirgrid ...

此后我添加了一个迭代方法,该方法可以传递一个 watir 代码块以针对远程浏览器对象执行。因此浏览器对象在步骤之间变得可重用。此处是更新的详细 cucumber 示例:

https://github.com/90kts/watirgrid/blob/master/examples/cucumber/step_definitions/example_steps.rb

你的 cuke 步骤最终看起来像这样:

Given /^navigate to the portal$/ do
@grid.iterate {|browser| browser.goto "http://gridinit.com/examples/logon.html" }
end

When /^they enter their credentials$/ do
@grid.iterate do |browser|
browser.text_field(:name => "email").set "tim@mahenterprize.com"
browser.text_field(:name => "password").set "mahsecretz"
browser.button(:type => "submit").click
end
end

Then /^they should see their account settings$/ do
@grid.iterate do |browser|
browser.text.should =~ /Maybe I should get a real Gridinit account/
end
end

如果您有任何问题,请随时给我留言。我们还在 EC2 上提供了 watirgrid 的商业实现,可用于测试版 http://gridinit.com/public/examples请继续关注不同测试框架的更多更新!

仅供引用,控制/迭代助手在最新版本的 watirgrid v1.1.2 中

或者在每个提供商的不同场景下并行执行,我只需要一个看起来像这样的 support/env.rb:

require 'watirgrid'
require 'rspec/expectations';

ENV["GRID"] = 'true'
ENV["controller_uri"] = "druby://10.0.1.3:11235"

if ENV["GRID"] then
params = {}
params[:controller_uri] = ENV["controller_uri"]
params[:browser] = 'chrome' # type of webdriver browser to spawn
grid ||= Watir::Grid.new(params)
grid.start(:initiate => true, :quantity => 1, :take_all => true)
else
@browser ||= Watir::Browser.new :chrome
end

Before do |scenario|
@browser = grid.providers.first
end

at_exit do
grid.iterate do |browser|
browser.close
end
grid.release_tuples
end

请注意,我正在使用 :take_all => true 获得对提供商的独占访问权并将其释放回网格 at_exit ... 然后我会调用我的来自使用 CLI 的单独测试运行器的场景,可能包含在 bash 或 DOS 脚本中,例如

cucumber features --name "Name of scenario 1"
cucumber features --name "Name of scenario 2"
cucumber features --name "Name of scenario 3"
...
etc

关于windows - *Windows* 中的并行 Cucumber/Watir 场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5903379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com