2017-04-05 91 views
1

我正在使用Cucumber/Ruby/Selenium-Webdriver/Capybara進行網站測試自動化。我想切換到Watir-Webdriver結合黃瓜和紅寶石,但我正在努力與以下:爲什麼Watir-webdriver打開兩個瀏覽器?

每次我運行我的黃瓜測試,Watir打開兩個瀏覽器窗口,我配置的網站的空白屏幕作爲默認值,再加上執行實際測試步驟的另一個。

我的'支持/ env.rb文件有:

require 'allure-cucumber' 
require 'rspec' 
require 'watir-webdriver' 

AllureCucumber.configure do |c| 
    c.output_dir = 'D:\Test\result' 
    c.clean_dir = true 
    c.tms_prefix  = '@PRACTEST--' 
    c.issue_prefix = '@JIRA++' 
    c.severity_prefix = '@URGENCY:' 
    c.tms_prefix = '' 
end 

我的腳步文件開頭:

require 'watir-webdriver' 
require 'cucumber' 
require 'rspec' 
require_relative 'D:\EntelTest\src\PageObject\home_page.rb' 

Before do 
    @test = AbstractPage.new(Watir::Browser.new :ff) 
    @test.full_size 
end 

After do 
    @test.quit 
end 


home_page = nil 


When(/^Go to home page$/) do 
    home_page = @test.goToHomePage 

end 
+2

不太可能與您的問題有關,但Watir-Webdriver已棄用。它已被Watir v6.0或更高版本取代。 –

+1

歡迎使用堆棧溢出。請閱讀「[問]」和鏈接的頁面。 SO不是一個討論列表,它是一個參考網站,就像食譜或百科全書。由於這些簡明的問題比冗長的問題更受歡迎;一個小小的個性是偉大的,但請記住,您在本書中創建了一個新條目來幫助其他人,而不是在消息線程中編寫代碼,以便保持它的重要性。此外,稱呼,valedictions和簽名是不可取的。 –

+0

你可以在hooks.rb中放置這些'do'和'do'後嗎?在steps.rb文件中,只需提及你的黃瓜步驟的代碼,並在此之前聲明 'browser = Watir :: Browser.new:ff' –

回答

0

,你可以把這些之前做和做hooks.rb後?在steps.rb文件中,只需提及黃瓜步驟的代碼,並在此之前聲明browser = Watir::Browser.new :ff

最佳實踐是將其放入hooks.rb中。 env.rb通常應該包含所需的功能和服務器環境代碼。 :)

0

你已經放在步驟文件中應該在hooks.rb文件中。

請安裝叫做testnow的gem。 這將幫助您創建大多數標準和易於使用的Watir-webdriver框架與所有預先配置的瀏覽器。

步驟:

1) gem install testnow 
2) testnow watir_cucumber_now 

它會爲您安裝依賴條件,輸入Y完全建立起來。 它將創建一個強大的框架與示例場景。

只需使用以下任一命令運行示例場景。

rake testnow BROWSER=firefox 
rake testnow BROWSER=chrome 
rake testnow BROWSER=opera 

只有在瀏覽器預裝了並且webdriver存在於PATH變量中時,才能使用。

請發表評論以獲得更多信息。

希望它有幫助!