【问题标题】:How can I access the default webdriver for Selenium 2 with Rails 3 Rspec and Capybara?如何使用 Rails 3 Rspec 和 Capybara 访问 Selenium 2 的默认 webdriver?
【发布时间】:2012-07-31 15:51:29
【问题描述】:

几天来,我一直在尝试实施 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 等方法?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 selenium rspec selenium-webdriver


    【解决方案1】:

    您可以通过以下方式访问 Capybara 中的 webdriver:

    page.driver.browser
    

    所以你会想做这样的事情:

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

    【讨论】:

    • 非常感谢!我现在可以访问默认的 webdriver 并调用它的方法没问题。
    猜你喜欢
    • 1970-01-01
    • 2020-07-19
    • 2018-08-20
    • 1970-01-01
    • 2021-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    相关资源
    最近更新 更多