【问题标题】:New browser opens for every feature being executed - WATIR为正在执行的每个功能打开新的浏览器 - WATIR
【发布时间】:2019-04-10 09:31:16
【问题描述】:

我们将 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

【问题讨论】:

    标签: selenium firefox cucumber watir gherkin


    【解决方案1】:

    答案和这里一样:https://stackoverflow.com/a/17624188/4072371

    话虽如此,我觉得有义务指出,理想情况下,您可以让您的测试相互独立。

    【讨论】:

      【解决方案2】:

      解决此问题的方法是从 env.rb 文件中删除 before do 块。

      这阻止了在每个场景之前调用新的 Firefox 实例。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-18
        • 2010-11-02
        • 1970-01-01
        • 2015-05-04
        相关资源
        最近更新 更多