【发布时间】:2016-11-29 15:04:18
【问题描述】:
该项目是一个使用 cordova 的混合应用程序,可以在 android /ios 平台上运行(目前专注于 ios)。我已经设法设置 Appium 进行自动化测试,它工作得很好。 Appium 检查器出现问题,因为它可以看到一些元素但将它们标记为可见:false。
screenshot of visible: false attribute in appium.
每次尝试与这些“不可见”元素进行交互(单击、点击、发送键等)时,测试总是失败。 示例:
driver.findElement(By.xpath("...")).click();
出现错误时登录Appium: screenshot Appium logs
问题:
- 如何与这些元素交互?
- 将它们标记为可见的依据是什么:错误?
- 我可以对我的 html 标记进行更改以使元素“可见”为真吗?
*我注意到我所有的矢量图标都标记为可见:false 这是一个大问题,因为我们的大多数导航都是图标。
*我已经尝试将我的 Appium 版本降级到 2.1.0(解决方案建议)。
*我正在使用 Java 客户端 Appium 4.0.0、Selenium 2.53.1、Xcode 7.3。
【问题讨论】:
-
是否尝试过使用 location 的 driver.tap() 方法?在您的代码中,appium 日志中显示的错误是什么?
-
感谢您的回复。我用我的日志截图更新了这个问题。它不断向我返回此错误“无法点击 elementId 0”。
-
你如何使用tap方法,使用元素还是使用位置?
-
我没有尝试过使用 .tap(),我虽然是 .click() 因为这是 Appium 检查器在录制时生成的。 driver.tap() 中可以接受哪些参数?我可以只输入元素的 xpath 吗?
-
tap(int finger, int x, int y, int duration) 和 tap(int finger, WebElement element, int duration) 使用 1 作为 int Finger 中的参数,x =3 和 y = 662第一个 api 和第二个传递元素。使用 700 作为持续时间 api 详细信息appium.github.io/java-client/io/appium/java_client/…
标签: cordova selenium selenium-webdriver appium appium-ios