dud*_*n90 5 selenium rspec ruby-on-rails ruby-on-rails-3 selenium-webdriver
我一直在尝试实施Selenium webdriver几天来进行我的javascript测试.我已经安装并包含了selenium-webdriver我的宝石Gemfile.通过添加, js: trueRspec测试,可以通过一些简单的测试.
没有其他必要:运行测试时,Firefox窗口打开文件中前面指定的当前页面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
Run Code Online (Sandbox Code Playgroud)
所以你想做的事情如下:
empty_stars = page.driver.browser.find_element(:class, "empty-stars-container")
Run Code Online (Sandbox Code Playgroud)