İstek özelliklerini yazıyoruz ... Capybara kullanıyorum ... Ve bazı modal pencerelerde sorun yaşıyorum.(Capybara) access modal window
Aslında benim sınamada istediğim şey, kalıcı bir pencerede açılan bir formu doldurmaktır.
Modal, Twitter'dan (http://twitter.github.com/bootstrap/javascript.html#modals) Bootstrap ile oluşturulmuştur ... ve bir dizi geçişten geçmektedir (ancak bunun söyleneceklerle alakalı olup olmadığını bilmiyorum).
ben gibi web üzerinde bulunan birkaç geçici çözümler, denedim: emin olmak için wait_until
kullanılarak page.driver.browser.window_handles
page.driver.browser.switch_to.window(page.driver.browser.window_handles.last)
B) ile sayfalar arasında geçiş)
A o modal yükler
def modal_wrapper_id
'#modal-edit'
end
def modal_visible
wait_until { find(modal_wrapper_id).visible? }
rescue Capybara::TimeoutError
flunk 'Expected modal to be visible.'
end
Ancak bunların hiçbiri işe yaramadı ... bu nedenle, pencere penceresinin etkin olduğu anda pencere tutamaçlarının sayısını oluşturmayı düşündüm ...
Yani bu yaptı:
puts page.driver.browser.window_handles.length.should == 2
Ve bu var:
Anladığım kadarıylaFailure/Error: page.driver.browser.window_handles.length.should == 2
expected: 2
got: 1 (using ==)
, pratikte benim kalıcı pencere yok.
Bu konuda herhangi bir yardım çok takdir edilecektir.
Teşekkür ederiz.
Selenium'u kullanıyorum! 'Capybara.default_driver =: selenium' – adritha84
Tamam, bunu postanızda belirtmediniz. Yanlış bir şey göremediğimden, test paketinizde bu pop-up'ı gerçekten çağırdığınızdan emin olacağım (bir şeye tıklayarak, vs, iş mantığını bilmiyorum). Ayrıca, sadece test amaçlı olarak, 'pop-up' çağırma eyleminden sonra biraz uyuyabilirsiniz. – socjopata
Bazı "uyku" eylemlerini benim özümümle koydum ve pek çok açıdan test ettim ... ve dediğin gibi, yanlış bir şey göremiyorum ... Ama yine de, belirtilen hatayı alıyorum, Bu modal pencerenin tutamacının anlamı yoktur, dolayısıyla pencere mevcut değildir. – adritha84