2017-02-01 14 views
0

Некоторое время назад я нашел это действительно полезный водосвинку наконечника об открытии текущей страницы, как человек будет видеть его на полпути через ваши испытания:Капибара current_u давая example.com

Найти адрес порта и Pause теста

Иногда я просто хочу посмотреть, что происходит в браузере. Хотя save_and_open_page дает вам некоторое представление о том, что происходит, вы не можете щелкнуть по нему, потому что страница, которую он дает вам, является статичной и не имеет активов. Чтобы понять, что происходит, мне нравится использовать трюк, который я узнал от своего наставника Майка Пака.

Как раз над пунктирной линией в вашем тесте, добавьте эти две строки кода. Обратите внимание, что для этого вам нужно установить pry в вашем текущем gemset или указать в Gemfile.

puts current_url 
require 'pry'; binding.pry 

Запуск спецификаций, а когда они приостановлены, скопируйте URL-адрес и номер порта из тестового выхода. Откройте браузер и вставьте адрес в окно. Вуаля! Теперь вы просматриваете свой сайт в тестовом режиме!

(наконечник три из here)

Я помню эту работу прямолинейно, но теперь, когда я использую его, хозяин дается как «http://www.example.com/» и не удивительно, пытаясь открыть его становится не-куда.

Я нашел similar question, который, возможно, содержит достаточно информации, чтобы выяснить, как взломать Capybara, но мои первые усилия не сработали. Мне было интересно, знает ли кто-нибудь из-за-бокса решение?

Наши, возможно, соответствующие испытательные камни - Capybara, Poltergeist, Launchy и Webmock.

ответ

1

Если current_url возвращается как example.com, то тест, который вы пытаетесь сделать это, скорее всего, использует драйвер rack_test (без JS, очень ограниченный CSS). Вы не можете указать браузер при тестировании с помощью драйвера rack_test, потому что он не запускает сервер для обслуживания страниц для этих тестов.