【发布时间】:2019-06-27 15:36:27
【问题描述】:
我正在使用 Appium,但我在 Android 上没有遇到这个问题。仅适用于 iOS。
该应用是在 React Native 上制作的。应用程序的某些部分使用下拉菜单,当您点击它们时,会显示一些选项,但会将应用程序的其余部分隐藏在阴影后面。类似的东西:
发生这种情况时,AppiumDriver 的焦点仍位于背景上,因此我无法点击/单击选项或出现在前面的任何元素。在某种程度上类似于您使用 Selenium WebDriver 时会发生的情况,并且会出现一个新的弹出窗口,您必须更改驱动程序的焦点才能与其元素交互。
我尝试过使用"getWindowsHandles()" 或"getContextHandles()",但它不适用于这种情况。
唯一可以点击这些选项的方法是使用 X、Y 坐标,这不是非常理想,所以我的目标是找到一个更好的解决方案,在其中我可以与这些元素进行交互,将 AppiumDriver 的焦点放在选项。
【问题讨论】:
-
你能检查一下 Appium 检查器是否可以看到你的下拉列表中的元素吗?
-
这就是我接下来要尝试做的事情。问题是我这里没有 Mac,所以我必须使用虚拟机。
-
到目前为止,我无法让它工作。我检查的应用是为模拟器部署的应用。在那里,使用 Appium explorer,我可以看到如何捕捉元素。但是在真实应用和appium上的执行是不同的。由于某种原因,它没有关注我需要点击的下拉选项,如果我调用 driver.getPageSource() 它会检索背景的源代码。我仍然希望让它以正确的方式工作,但我也认为我可能不得不使用 tapOnXY() 方法。
标签: ios iphone selenium appium