Мы используем каркас 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