无法使用Appium 1.6.3对某些元素,iOS 10自动化执行单击操作

时间:2017-02-02 12:26:49

标签: automation appium ios10

我们正致力于iOS应用程序的自动化,并且正面临一些重大问题。以下是环境设置的摘要以及迄今为止尝试的解决方案所面临的问题。

完成环境设置: •根据客户要求,我们必须使用iOS 10和XCode 8.为了满足要求,我们必须将当前的Mac OS从10.11升级到10.12.2。 •要使用iOS 10,我们必须将Appium从1.5.3升级到最新版本1.6.3。

面临的问题: •在iOS 10中,事物已从原始的UIAutomation转移到XCUITest。 •当前的应用程序似乎是基于旧的UIAutomation构建的,新的辅助功能检查器无法识别UI元素。

解决方案: •我们尝试使用x,y坐标执行点击操作,但没有运气。 •我们还尝试通过获取整个应用程序层次结构来编写相对xpath,但我们仍然面临问题。

感谢iOS自动化专家的回应,如果遇到任何此类挑战并且解决方案有效。

1 个答案:

答案 0 :(得分:0)

如果您使用Appium Inspector检查元素并选择按钮,请说登录屏幕具有name属性'name = Login'或'name = accessibility.login.button'的值,您应该能够找到元素:

  

_driver.FindElementByAccessibilityId( “登录”);

使用FindElementByAccessibilityID(“name property of name property”)始终用于对被检查元素具有唯一值'name = text value'的元素

如果检查员中'name ='的值为空,则需要在开发团队中请求将Accessibility Id标记添加到允许您与其进行交互的元素。

如果开发人员说他们不想这样做,因为它不在他们的职责范围内(在现代敏捷开发团队中,每个人都应该关心并努力提高产品的质量......)你需要通过产品所有者并让他信服他添加这些可访问性标记是商业案例,因为它允许您编写自动化测试,使移动回归比手动更短,更快,更稳定 - 最后它允许更快,更安全地发布应用程序到生产。