【问题标题】:Unable to perform click operation on certain Elements, iOS 10 Automation with Appium 1.6.3无法对某些元素执行点击操作,iOS 10 Automation with Appium 1.6.3
【发布时间】:2017-06-19 12:39:45
【问题描述】:

我们正在努力实现 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 自动化专家的回复,如果遇到任何此类挑战和有效的解决方案。

【问题讨论】:

    标签: automation appium ios10


    【解决方案1】:

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

    _driver.FindElementByAccessibilityId("登录");

    使用 FindElementByAccessibilityID("text value of name property") 始终适用于检查元素的唯一值 'name=text value' 的元素

    当检查器中“name=”的值为空时,您需要在您的开发团队中请求将 Accessibility Id 标签添加到允许您与它们交互的元素。

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

    【讨论】:

      猜你喜欢
      • 2015-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-27
      • 2017-08-07
      • 2011-07-08
      • 2014-11-04
      • 1970-01-01
      相关资源
      最近更新 更多