如何在 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.

在此代码中,您没有运行并行规范。您正在并行声明上下文。

也就是说,调用itspecify不会执行测试代码。该块正在保存,然后由 rspec 运行ner (somewhere here I believe) 执行。 这就是为什么 RSpec(例如)可以 运行 所有示例以随机顺序排列的原因。

因此,要并行执行 - 您需要做的不仅仅是示例代码。请参阅 中的项目示例。