【问题标题】:Hybrid mobile app: how to use css selectors in cucumber tests?混合移动应用程序:如何在黄瓜测试中使用 CSS 选择器?
【发布时间】:2014-05-01 03:30:03
【问题描述】:

有一个混合应用程序(使用 steroids 构建),我可以在 IOS 模拟器上通过 selenium 远程 webdriver(远程部分是 appium 服务器)运行 cukes。

但是,我似乎无法在 cukes 中使用 css 选择器,只能使用某种“原生”选择器。

例如,如果我的应用是一个只有 <p>TEXT</p> 的 html,那么 driver.find_element(:xpath, '//staticText')[:label] 会得到我的 TEXT,但是有没有办法使用 css 选择器 - p - 来代替?

也许 selenium/appium 不是最好的设置?

【问题讨论】:

    标签: selenium-webdriver cucumber appium steroids


    【解决方案1】:

    致所有通过搜索机器来到这里的人。请注意,从 Appium 1.0 版开始,使用窗口操作更改为 Web 视图上下文已过时。由于 Selenium-webdriver 目前不支持上下文,你应该切换到appium_lib

    使用 appium_lib 及其promote_appium_methods-函数切换上下文同样简单:

    set_context('WEBVIEW_1')

    【讨论】:

      【解决方案2】:

      要使用 css 选择器,需要将上下文切换到 webview。假设是单页应用,这意味着切换到窗口“1”:

      [1] pry(#<Cucumber::Rails::World>)> driver.window_handles
      => ["1"]
      [2] pry(#<Cucumber::Rails::World>)> driver.switch_to.window "1"
      => ""
      [3] pry(#<Cucumber::Rails::World>)> driver.find_elements :css, "div"
      => [#<Selenium::WebDriver::Element:0x..fdcd88f550f201750 id="5000">]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-11-14
        • 2013-05-23
        • 1970-01-01
        • 2017-05-14
        • 2020-12-12
        • 2015-04-07
        • 1970-01-01
        • 2015-07-22
        相关资源
        最近更新 更多