4
我目前正在爲使用turbolinks(紅寶石)的產品編寫硒webdriver測試。當我點擊一個按鈕時,我必須等待turbolinks工作。當我測試jQuery的回調通常我等待我與代碼:Selenium Webdriver Turbolinks
driver.execute_script 'return jQuery.active == 0'
我可以通過JavaScript檢查內容驗證Turbolinks做?還是有一個我可以抓住的元素可以做到這一點?我在頂部看到一個進度條,但我無法在任何地方找到該元素。
編輯:
我能夠做這樣的事:在頁面加載
driver.execute_script "$(document).on('page:load', function() { window.turbolinks = true; });"
driver.execute_script "$(document).on('page:before-change', function() { window.turbolinks = false; });"
,然後我可以等待window.turbolinks是真實
wait = Selenium::WebDriver::Wait.new(:timeout => 10)
wait.until { driver.execute_script 'return window.turbolinks;' }
有沒有更好的方法來處理這個問題?