我们正在致力于iOS应用程序的自动化,并面临一些主要问题。以下是到目前为止所尝试的解决方案所面临的环境设置和问题的摘要。
环境设置完成:·根据客户要求,我们必须使用iOS 10和XCode 8。为了满足要求,我们必须将当前的Mac从10.11升级到10.12.2。·要使用iOS 10,我们必须将Appium1.5.3升级到最新版本1.6.3。
面临的问题:·在iOS 10中,一切都从最初的UIAutomation转移到了XCUITest。·当前的应用程序似乎是在旧的UIAutomation上构建的,新的可访问性检查器无法识别UI元素。
尝试的解决方案:·我们尝试使用x,y坐标执行单击操作,但没有成功。·我们还尝试通过获取整个应用程序层次结构来编写相对xpath,但我们仍然面临问题。
如果遇到任何这样的挑战和有效的解决方案,请感谢iOS自动化专家的回应。
发布于 2017-02-04 20:54:50
如果您使用Appium Inspector检查元素,并在登录屏幕上选择按钮,假设登录屏幕具有名称属性'name=Login‘或'name=accessibility.login.button’的值,您应该能够找到元素:
_driver.FindElementByAccessibilityId("Login");
对于被检查元素具有唯一值'name=text value‘的元素,使用FindElementByAccessibilityID(“名称属性的文本值”)始终有效
当检查器中'name=‘的值为空时,您需要在开发团队中请求将可访问性Id标签添加到允许您与其交互的元素。
如果开发人员说他们不想这样做,因为这不在他们的职责范围内(在现代敏捷开发团队中,每个人都应该关心并努力提高产品的质量……)你需要通过产品所有者说服他,添加这些可访问性标签是商业案例,因为它允许你编写自动化测试,使移动回归比手动测试更短、更快、更稳定-最终,它允许更快、更安全地将应用程序发布到生产环境。
https://stackoverflow.com/questions/42002270
复制相似问题