为正在执行的每个功能打开新浏览器 - WATIR
New browser opens for every feature being executed - WATIR
我们将 Selenium Cucumber 框架与 Watir 一起使用。
我们已将一个场景拆分为不同的功能,所有这些功能都需要 运行 在一个浏览器上才能完成该场景。
目前完成1个功能,然后关闭浏览器,然后打开一个新的Firefox实例;不保留前一个实例的状态。
为了让我们的测试 运行 有效,我们需要在同一个浏览器实例上完成这些功能。
我们如何防止在执行每个功能后打开新的浏览器实例?
这是我们的测试结构:
W2.1.1-Set_Project_Information.feature
W2.1.2-Select_Shotlist.feature
W2.1.3-Flag_shotlist_requiring_physical_inspection.feature
W2.1.4-Select_applicable_shotlist_task.feature
W2.1.5-Record_Primary_Applicant.feature
我的env.rb
:
require 'rubygems'
require 'watir'
require 'selenium-webdriver'
require 'rspec'
browser = Watir::Browser.new :firefox
Before do
#browser = Watir::Browser.new :chrome
@browser = browser
@browser.goto "https://test.branzartisan.com"
@browser.window.maximize
sleep(5)
puts "###Browser Invoke###"
end
After do |scenario|
@browser.cookies.clear
@browser.refresh
end
答案与此处相同:
话虽这么说,但我觉得有义务指出,理想情况下,您可以使测试彼此独立。
此问题的解决方案是从 env.rb
文件中删除 before do
块。
这阻止了在每个场景之前调用新的 Firefox 实例。
我们将 Selenium Cucumber 框架与 Watir 一起使用。
我们已将一个场景拆分为不同的功能,所有这些功能都需要 运行 在一个浏览器上才能完成该场景。
目前完成1个功能,然后关闭浏览器,然后打开一个新的Firefox实例;不保留前一个实例的状态。
为了让我们的测试 运行 有效,我们需要在同一个浏览器实例上完成这些功能。
我们如何防止在执行每个功能后打开新的浏览器实例?
这是我们的测试结构:
W2.1.1-Set_Project_Information.feature
W2.1.2-Select_Shotlist.feature
W2.1.3-Flag_shotlist_requiring_physical_inspection.feature
W2.1.4-Select_applicable_shotlist_task.feature
W2.1.5-Record_Primary_Applicant.feature
我的env.rb
:
require 'rubygems'
require 'watir'
require 'selenium-webdriver'
require 'rspec'
browser = Watir::Browser.new :firefox
Before do
#browser = Watir::Browser.new :chrome
@browser = browser
@browser.goto "https://test.branzartisan.com"
@browser.window.maximize
sleep(5)
puts "###Browser Invoke###"
end
After do |scenario|
@browser.cookies.clear
@browser.refresh
end
答案与此处相同:
话虽这么说,但我觉得有义务指出,理想情况下,您可以使测试彼此独立。
此问题的解决方案是从 env.rb
文件中删除 before do
块。
这阻止了在每个场景之前调用新的 Firefox 实例。