如何在 Windows 机器上 运行 与 RSpec 和 Watir 进行并行测试?
How to run parrellel tests with RSpec and Watir on a Windows machine?
我正在尝试 运行 Rspec 中的这个 watir 代码,而且我正在尝试 运行 并行测试用例。但它 运行 一个接一个。无论如何我可以实现并行运行?
require 'rspec'
require 'watir'
a=[]
2.times do
a<<Thread.new do
describe 'My behaviour' do
it 'should do something' do
b = Watir::Browser.new
b.goto 'www.google.com'
b.text_field(name: 'q').set 'Rajagopalan'
b.close
end
end
end
end
a.each(&:join)
但是如果我 运行 没有 Rspec 的相同代码,它 运行 是并行的。例如,请考虑以下代码
require 'rspec'
require 'watir'
a = []
2.times do
a << Thread.new do
b = Watir::Browser.new
b.goto 'www.google.com'
b.text_field(name: 'q').set 'Rajagopalan'
b.close
end
end
a.each(&:join)
使用 Rake 任务中的 Parallel Test gem or Parallel Split Test gem。
你可以看一个例子in this sample code.
在此代码中,您没有运行并行规范。您正在并行声明上下文。
也就是说,调用it
或specify
不会执行测试代码。该块正在保存,然后由 rspec 运行ner (somewhere here I believe) 执行。
这就是为什么 RSpec(例如)可以 运行 所有示例以随机顺序排列的原因。
因此,要并行执行 - 您需要做的不仅仅是示例代码。请参阅 中的项目示例。
我正在尝试 运行 Rspec 中的这个 watir 代码,而且我正在尝试 运行 并行测试用例。但它 运行 一个接一个。无论如何我可以实现并行运行?
require 'rspec'
require 'watir'
a=[]
2.times do
a<<Thread.new do
describe 'My behaviour' do
it 'should do something' do
b = Watir::Browser.new
b.goto 'www.google.com'
b.text_field(name: 'q').set 'Rajagopalan'
b.close
end
end
end
end
a.each(&:join)
但是如果我 运行 没有 Rspec 的相同代码,它 运行 是并行的。例如,请考虑以下代码
require 'rspec'
require 'watir'
a = []
2.times do
a << Thread.new do
b = Watir::Browser.new
b.goto 'www.google.com'
b.text_field(name: 'q').set 'Rajagopalan'
b.close
end
end
a.each(&:join)
使用 Rake 任务中的 Parallel Test gem or Parallel Split Test gem。 你可以看一个例子in this sample code.
在此代码中,您没有运行并行规范。您正在并行声明上下文。
也就是说,调用it
或specify
不会执行测试代码。该块正在保存,然后由 rspec 运行ner (somewhere here I believe) 执行。
这就是为什么 RSpec(例如)可以 运行 所有示例以随机顺序排列的原因。
因此,要并行执行 - 您需要做的不仅仅是示例代码。请参阅