2012-01-10 19 views
6

Ben benim özellik dosyasında aşağıdaki satırları:Salatalık + Capybara yeni bir pencere açılır sağlamak için test

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 

Web sayfası kesinlikle yeni bir pencerede açılır olduğunu test etmek için bir yol bulmak için mücadele ediyorum . web sayfası üzerinde yüklü ise bunu başarısız istiyorum

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 

ancak web sayfası aynı sayfada yüklü ise bu hala testini geçer: Şu

benim adım def bu kullanıyoruz aynı pencere/sekme.

Herhangi bir öneriniz var mı?

Çok teşekkürler

cevap

6

Testinizde hiçbir iddia görmüyorum. tıklayarak window_handles 2.

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

imho eşit olmalıdır sonra

Benim yaklaşımım yeterince iyi boyutu tıklamadan önce 1 eşit olmalıdır, çünkü bağlantıyı tıklayarak işlemi gerçekleştirdikten sonra window_handles dizinin boyutunu test etmek olacağını ve Web sayfası aynı sekmede yüklendiğinden, boyut 1 olur ve test başarısız olur.

+0

Bu eş için eşler. Bu mükemmeldi. Ben sadece cucmber + capybara ve çevik tbh ile başlıyorum. Ama yine yardımlarınız için teşekkürler, benim için başka şeyleri de temizledi. – Dono

İlgili konular