【发布时间】:2016-04-26 22:17:24
【问题描述】:
问题:
我在使用 Appium 测试在原生内部 iOS 应用中实现的 Google 地图时遇到问题。具体来说,我无法让 Appium 与地图中出现的应用程序生成的图钉进行交互。通过 Appium 检查器无法以任何方式找到或识别引脚。
预计当我点击一个图钉时,会在其上方出现一个信息框,其中包含相关数据。
问题:
如何让 Appium 开始与我的原生 iOS 应用中的那些 Google 地图图钉进行交互? Appium 能做到这一点吗?如果不是,我应该用什么来做这个测试?
我尝试过的解决方案(不成功):
-
点击图钉的坐标。因为我每次打开地图时都会在地图上设置位置,而且我知道那里会有哪些大头针以及在哪里,我想我可以让 Appium 在 X/Y 坐标处轻按。不幸的是,这不起作用 - 没有任何反应。以下是我曾经尝试点击特定 X/Y 坐标的内容:
Appium::TouchAction.new.tap(x: 100, y: 200, fingers:1).release.perform -
切换到 WEBVIEW_3。我尝试将驱动程序的上下文切换到 Webview_3,认为这可能有效。不幸的是,当我这样做时,驱动程序无法识别应用程序中的任何元素,从而使其无用。这是我用来尝试的代码:
set_context “WEBVIEW_3" get_page_class'get_page_class' 返回 nil,表示在此上下文中找不到任何元素。当我在“NATIVE_APP”中运行它时,会发现很多元素。
我正在使用的信息:
- Appium 1.4.13
- Ruby 2.2.1p85(2015-02-26 修订版 49769)[x86_64-darwin14]
- appium_lib (8.0.1, 8.0.0, 7.0.0, 6.0.0)
- 模拟器:iPad Air 2,iOS 9.0,纵向(已尝试其他设备和 iOS 实现 - 无效)
- Xcode 7.1.1 (7B1005)
【问题讨论】:
-
到目前为止你尝试过什么?你有一些代码可以提供我们可以看到问题所在吗?
-
感谢您的提问,大卫。我更新了“我尝试过的解决方案”部分,其中包含一些我尝试在坐标处点击并切换上下文的代码示例。
标签: ios ruby google-maps appium