Capybara 的 Appium 驱动程序
Posted
技术标签:
【中文标题】Capybara 的 Appium 驱动程序【英文标题】:Appium driver for Capybara 【发布时间】:2014-08-22 20:48:30 【问题描述】:是否可以将 Capybara 与自定义驱动程序一起使用,该驱动程序将与下面的 Appium ruby 客户端对话?
我知道这两个工具都直接与 webdriver 通信,但是它们针对不同的环境(桌面和移动),因此 Capybara 和 Appium 的 API 不同。
尽管如此,我仍在考虑是否存在使用 Appium 作为 Capybara 驱动程序的情况。此类驱动程序将提供一些额外的移动专用 API,并且可能不会实现 Capybara::Driver::Base
中的所有内容,但可以创建一个测试场景,该场景将在桌面和移动浏览器上运行。 p>
所以我的问题是 - 有没有以这种方式使用 Appium 的示例?
【问题讨论】:
【参考方案1】:我们决定在使用 appium_lib gem 的同时创建 gem appium_capybara。这使得 Appium 可以与 Capybara 一起使用。它位于 git 上的 https://github.com/appium/appium_capybara 和 rubygems 上的 https://rubygems.org/gems/appium_capybara。
【讨论】:
哇,这看起来很棒。谢谢。【参考方案2】:我想出了一个办法。 :)
这是一段漫长的旅程,但最终却变得非常简单。
Capybara.register_driver :ipad do |app|
caps =
:device => "iPad Simulator",
:browserName => 'ios',
:platform => 'Mac',
:version => '6.1',
:app => 'safari'
Capybara::Selenium::Driver.new(app, :browser => :remote, :url => "http://localhost:4723/wd/hub/", :desired_capabilities => caps)
end
Capybara.default_driver = :ipad
我将它与 Xcode 4.6.3 版和 Appium 1.1.0 版一起使用。我尝试使用最新的 Appium,但它以某种方式破坏了我的设置。
我的灵感来自这个页面:http://www.matthewbussa.com/2013/10/cross-browsercross-platform-automated.html
希望对你有帮助
【讨论】:
以上是关于Capybara 的 Appium 驱动程序的主要内容,如果未能解决你的问题,请参考以下文章
使用 RSpec + capybara-webkit 检查 JS 框是不是存在
通过 Capybara (v2) 与 Bootstrap 模态交互时出现问题