繁体   English   中英

如何使用Rails 3 Rspec和Capybara访问Selenium 2的默认webdriver?

[英]How can I access the default webdriver for Selenium 2 with Rails 3 Rspec and Capybara?

我一直在尝试实施Selenium webdriver几天来进行我的javascript测试。 我在我的Gemfile安装并包含了gem selenium-webdriver 通过在Rspec测试中添加, js: true来传递一些简单的测试。

没有其他必要:运行测试时,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

您可以使用以下方式访问Capybara中的webdriver:

page.driver.browser

所以你想做的事情如下:

empty_stars = page.driver.browser.find_element(:class, "empty-stars-container")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM