2013-08-07 48 views
2

對我的項目的相當JavaScript密集型,所以我有一個<noscript>提醒用戶可能在其瀏覽器禁用JavaScript。水豚Poltergeist/PhantomJS測試 - 在頁面上禁用JavaScript

我正在嘗試爲我的測試套件編寫一個測試,它只是驗證了這種行爲,但我無法弄清楚如何在請求之前禁用JavaScript以防止使用水豚/ Poltergeist(我用於功能測試) 。我在文檔中找不到任何明確的內容。有沒有其他人遇到過這樣的事情?

+1

你確定這是一個好主意嗎?你可以在測試中使用不同的驅動程序,這不是像機架測試那樣啓用js,並在此基礎上斷言。它也更快! – phoet

回答

1

所以,我仍然不知道如何做到這一點的吵鬧鬼,但我想通了,怎麼把它在硒的設置:

Capybara.register_driver :selenium_firefox_nojs do |app| 
    profile = Selenium::WebDriver::Firefox::Profile.new 
    profile["javascript.enabled"] = false 
    Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => profile) 
end 
+0

使用這個自定義驅動程序打破了水豚。看起來水豚需要JS在測試期間與頁面交互。你是如何解決這個問題的? – ctietze

+0

至少在我使用的水豚版本中,JS不是必需的。你能指出我在哪裏你看到,水豚需要javascript? – Bryce

+0

你可以看到我在這裏:https://gist.github.com/DivineDominion/ae672f24be394bac4fae – ctietze