Я пытался реализовать веб-драйвер Selenium пару дней, чтобы провести тестирование javascript. Я установил и включил драгоценный камень selenium-webdriver
в свой Gemfile
. Несколько простых тестов проходят путем добавления , js: true
к тесту Rspec.
Больше ничего не требовалось :При запуске тестов окно Firefox открывает текущую страницу, указанную ранее в файле с Capybara visit path("/news/#{news_item.id}")
, а затем нажимается кнопка, отображающая форму, которая была скрыта, поля заполняются, и кнопка отправки нажата, проблем нет. Тест проходит и браузер закрывается.
Переход к более сложным тестам требует от меня вызова методов в веб-драйвере, но я не знаю, как получить к нему доступ, потому что я не создавал его явно. Я мог бы, однако, если бы захотел создать свой собственный с помощью driver = Selenium::WebDriver.for :firefox
, но это приводит к открытию второго экземпляра браузера, и он совершенно пустой, а не открывает страницу, на которую перешел Capybara.
Мой вопрос :Как я могу получить доступ к используемому по умолчанию веб-драйверу, чтобы я мог вызывать такие методы, как empty_stars = driver.find_element(:class, "empty-stars-container")
и driver.action.move_to(empty_stars).perform
?