首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Appium_capybara驱动程序+应用工具集成

Appium_capybara驱动程序+应用工具集成
EN

Stack Overflow用户
提问于 2018-06-11 18:54:24
回答 1查看 162关注 0票数 0

我正在使用带有capybara + eyes_selenium的RSpec框架进行可视化测试,并且我想集成移动可视化测试。我安装了appium_capybara,它与远程appium服务器一起工作,该服务器在我的远程selenium集线器中充当一个节点。

到目前为止,它工作得很好,我已经设法登录到我的iOs模拟器,并与页面进行交互。问题是把整个东西和applitools集成在一起。

我正在使用gem eyes_selenium,但是我似乎不能对我的Appium::Capybara::Driver对象执行Eyes.open,得到一个异常,这个驱动程序是未知的。

代码语言:javascript
复制
Eyes.open(app_name: 'Applitools', test_name: test_name, viewport_size: viewport_size, driver: Capybara.page.driver)

有人设法让它工作了吗?

EN

回答 1

Stack Overflow用户

发布于 2018-06-12 23:06:04

查看eyes_selenium gem的源代码,错误可能来自eyes_driver方法- https://github.com/applitools/eyes.sdk.ruby/blob/master/lib/applitools/selenium/eyes.rb#L39 -它的实现如下所示

代码语言:javascript
复制
def eyes_driver(driver, eyes = nil)
  if driver.respond_to? :driver_for_eyes
    driver.driver_for_eyes eyes
  elsif defined?(::Capybara::Poltergeist) && (driver.is_a? ::Capybara::Poltergeist::Driver)
    Applitools::Poltergeist::Driver.new(eyes, driver: driver)
  else
    unless driver.is_a?(Applitools::Selenium::Driver)
      Applitools::EyesLogger.warn("Unrecognized driver type: (#{driver.class.name})!")
      is_mobile_device = driver.respond_to?(:capabilities) && driver.capabilities['platformName']
      Applitools::Selenium::Driver.new(eyes, driver: driver, is_mobile_device: is_mobile_device)
    end
    raise Applitools::EyesError.new "Unknown driver #{driver}!"
  end
end

乍一看,它的else部分看起来完全失效了(为什么要创建一个新的Applitools::Selenium::Driver实例,然后引发一个错误呢?)然而,这只留下了几种可能性,为什么它对你不起作用,

  1. Appium::Capybara::Driver不是eyes_selenium gem
  2. 支持的驱动程序类型您不需要支持修补applitools所需的文件,例如'applitools/capybara',尽管快速浏览一下eyes_selenium代码后,我认为它没有将driver_for_eyes方法添加到Appium::Capybara::Driver的任何祖先类中(虽然可以修补Appium::Driver ),因此#1可能更有可能。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50796126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档