2012-01-10 126 views
6

我有我的特點文件中以下行:黃瓜+水豚測試,以確保打開一個新窗口

Given I have website "www.google.co.uk" 
When I click the website "www.google.co.uk" 
Then "www.google.co.uk" page is opened in a new window 

我努力尋找一種方法來測試該網頁爲在新窗口中肯定打開。

目前我已經在我的步DEF一直在使用這個:

Then /url "([^"]*)" is opened in new window/ do |url| 
    browser = page.driver.browser 
    current_id = browser.window_handle 
    tab_id = page.driver.find_window(url) 
    browser.switch_to.window tab_id 
    page.driver.browser.close 
    browser.switch_to.window current_id 
end 

但如果網頁加載在同一頁上,這仍然通過了測試,我希望它失敗,如果網頁加載在相同的窗口/選項卡。

有什麼建議嗎?

非常感謝

回答

6

我在您的測試中看不到任何斷言。

我的做法是在鏈路上進行點擊操作後測試window_handles數組的大小,因爲點擊大小之前應該等於1,後點擊window_handles應該等於2

assert page.driver.browser.window_handles.size == 2 

恕我直言,不夠好,因爲如果網頁加載在同一個標​​籤中,大小將爲1,並且測試將失敗。

+0

對於那個伴侶的CHeers。那很完美。我剛剛開始與cucmber +水豚和敏捷tbh。但是再次感謝您的幫助,它也爲我解決了其他問題。 – Dono 2012-01-11 10:38:36