2015-04-17 3 views
6

Я пытаюсь выяснить, как именно реализовать эту функциональность Полтергейста в мои существующих тесты Капибары, и я не имею никакой удачи после прочтения документации здесь: https://github.com/teampoltergeist/poltergeistКак проверить ошибки Javascript с помощью capybara и poltergeist?

Я включил следующий код, но когда я запускаю свои тесты, я не вижу предупреждения о ошибках JS, когда знаю, что в консоли есть ошибки JS. Я что-то упускаю? Должен ли я передавать конкретную команду в терминале, чтобы убедиться, что это проверяет ошибки JS? Благодаря!

require 'capybara/poltergeist' 
Capybara.javascript_driver = :poltergeist 

options = {js_errors: true} 
Capybara.register_driver :poltergeist do |app| 
    Capybara::Poltergeist::Driver.new(app, options) 
end 
+0

Почему вы установили js_errors в false? –

+0

Ах, извините, я скопировал/вставлял это из источника, на котором я нашел его (другой поток SO). Я изменил его на true в своем коде, и я все еще не вижу предупреждений об ошибках JS при запуске –

ответ

3

Я столкнулся с вашими сообщениями после того, как столкнулся с аналогичным вопросом. В моем случае я начал с webkit в качестве драйвера в capybara. Я прочитал сообщение в блоге, в котором был предложен следующий код, который использовал совпадение «has_errors» для захвата любой ошибки js.

it 'should not have JavaScript errors', js: true do  
visit(root_path)  
expect(page).to_not have_errors   
end 

В случае, если вы ссылаетесь на что-то подобное, вам не нужно использовать какой-либо конкретный метод, чтобы проверить, когда вы используете полтергейст. Вы можете увидеть мой код, который показывает, что я переключил.

https://github.com/alaghu/learn_jquery/compare/dev...1d6be6dfd500

В принципе, каждый тест будет автоматически проверять, если страница содержит ошибки. Мне нужно было ввести js: true в моих тестах. Я проверил это путем преднамеренной ошибки js-файлов для проверки этих тестов.

Надеюсь, это было полезно.

+5

Это не работает в Poltergeist. 'expected # для ответа на 'has_errors?' 'дополнительно ссылка не работает. – max

Смежные вопросы