Ruby 如何使用Watir在每个测试中运行新的浏览器实例?

Ruby 如何使用Watir在每个测试中运行新的浏览器实例?,ruby,automation,rake,watir,qa,Ruby,Automation,Rake,Watir,Qa,在同一次运行中执行多个测试时,我发现我得到的错误比逐个执行测试时多。当我研究这种行为时,我希望通过运行一个rake任务来获得更准确的结果,该任务执行我想要的测试,但在一个新的浏览器实例上运行每个测试,就像我逐个执行它们一样。通过这种方式,我将能够获得与手工操作相同的结果,但避免了在终端逐个启动它们的麻烦 我在文档中搜索了这个功能,但没有找到,我在StackOverflow上发现的唯一类似问题是与selenium有关,而不是与watir有关 有可能做我想做的事吗?怎么做 谢谢。通常,您希望在每次测

在同一次运行中执行多个测试时,我发现我得到的错误比逐个执行测试时多。当我研究这种行为时,我希望通过运行一个rake任务来获得更准确的结果,该任务执行我想要的测试,但在一个新的浏览器实例上运行每个测试,就像我逐个执行它们一样。通过这种方式,我将能够获得与手工操作相同的结果,但避免了在终端逐个启动它们的麻烦

我在文档中搜索了这个功能,但没有找到,我在StackOverflow上发现的唯一类似问题是与selenium有关,而不是与watir有关

有可能做我想做的事吗?怎么做


谢谢。

通常,您希望在每次测试之前创建一个Before钩子以打开浏览器,在每次测试之后创建一个After钩子以关闭浏览器(请参阅更多)

假设您在
support/env.rb
中启动浏览器,您将用before和after钩子替换现有代码:

Before
  @browser = Watir::Browser.new
end

After
  @browser.close
end

您使用的是什么测试框架?你能粘贴一些测试代码吗?我正在使用Ruby和Watir和Cucumber。我不知道粘贴一些代码会有多大用处,因为每次我运行rake任务时都会遇到随机错误。如果你不提供一些重现问题的代码,我看不出我们能为你提供什么帮助。好吧,也许我说得不够清楚,但我认为通过更改rake文件的一些配置就足够了?我的意思是,我不是在问如何修复我的错误,我想知道的是,是否有可能在每个测试中使用新的浏览器实例运行rake任务。比如:rake特性:development(例如,它有50个测试)运行测试1->打开浏览器,执行测试。关闭浏览器。运行测试2->打开浏览器,执行测试。关闭浏览器。当我运行一个rake任务时发生的事情是:运行测试1->打开浏览器,执行测试,然后在同一个浏览器窗口上运行测试2。这正是我想要的。谢谢你给我指黄瓜维基上的钩子。