几天来,我一直在尝试实现 Selenium webdriver 来进行 javascript 测试。我已安装 gem 并将其包含selenium-webdriver
在我的Gemfile
. 通过添加, js: true
到 Rspec 测试可以通过一些简单的测试。
没有其他必要了:运行测试时,Firefox 窗口打开前面在 Capybara 文件中指定的当前页面visit path("/news/#{news_item.id}")
,然后单击一个按钮,显示一个隐藏的表单,填充字段,然后按下提交按钮,没问题。测试通过,浏览器关闭。
推进到更复杂的测试需要我调用 webdriver 上的方法,但我不知道如何访问它,因为我没有明确地创建一个。但是,如果我想创建自己的,我可以创建自己的,driver = Selenium::WebDriver.for :firefox
但这会导致第二个浏览器实例打开,并且它是完全空白的,而不是打开 Capybara 导航到的页面。
我的问题是:我怎样才能访问正在使用的默认 webdriver,以便我可以调用诸如empty_stars = driver.find_element(:class, "empty-stars-container")
和之类的方法driver.action.move_to(empty_stars).perform
?