2014-01-29 3 views
5

Phantom JS Версия: 1.9.1 Полтергейстом Версия: 1.3.0Phantom JS Ошибка с YouTube видео

Начиная сегодня YouTube встроенное видео дает теперь полтергейст ошибку при выполнении JavaScript тестов. Мой код youtube - это только встроенный код youtube по умолчанию. Вот пример:

<iframe width="560" height="315" src="//www.youtube.com/embed/AW9Z3cGOlGM?rel=0" frameborder="0" allowfullscreen></iframe> 

И ошибки я получаю только от посещения этой страницы во время включения JavaScript является:

Failure/Error: page.find(".container.registrations.false.government")["style"].should have_content("test.jpg") 
Capybara::Poltergeist::JavascriptError: 
    One or more errors were raised in the Javascript code on the page. If you don't care about these errors, you can ignore them by setting js_errors: false in your Poltergeist configuration (see documentation for details). 

    TypeError: 'null' is not an object (evaluating 'a.dataset') 
     at http://s.ytimg.com/yts/jsbin/www-embed-player-vfl6vSff7.js:97 
     at http://s.ytimg.com/yts/jsbin/www-embed-player-vfl6vSff7.js:88 in vg 
     at http://s.ytimg.com/yts/jsbin/www-embed-player-vfl6vSff7.js:85 
     at http://s.ytimg.com/yts/jsbin/www-embed-player-vfl6vSff7.js:98 

Кроме того, в некоторых тестах полтергейст просто умирает ..

Failure/Error: visit root_path 
Capybara::Poltergeist::DeadClient: 
    PhantomJS client died while processing {"name":"visit","args":["http://subdomain13.lvh.me:3003/"]} 

Дополнительно он не игнорирует эти ошибки при выполнении:

Capybara.register_driver :poltergeist_without_js do |app| 
    Capybara::Poltergeist::Driver.new(app, :js_errors => false) 
end 
Capybara.javascript_driver = :poltergeist_without_js 
+0

Не большое решение, но мы закончили тем, что в убедитесь, что наши встроенные видео появились только из-за взаимодействия с пользователем, чтобы предотвратить попытки фантома запустить код ytimg. Это заставило наши тесты пройти (и позволить нам развернуть). – Kyle

+0

Да, сейчас я использую '