Appium 关于 Appium 自动化工具研究现状

王明海 · 2017年04月05日 · 最后由 深蓝 回复于 2017年04月11日 · 2695 次阅读

背景

1.Appium 目前最新版本更新至 1.6.4(包括 GUI 客户端和终端版本),原有 Appium1.5.3 之前的版本只支持到 iOS10 以下基于UIAutomation的框架测试,而iOS10以后苹果已经将xcode 8底层更改为XCUITest.
2.原有测试框架针对同花顺APP 中较多元素 ID 不定,较多使用XPATH拿到控件元素,Appium 升级后 1.6.4 的 GUI 客户端不支持使用 XPATH,具体见下图

关于支持 iOS10 的自动测试现状

  1. appium 最新工具积极更新中,官方文档更新缓慢,测试社区相关资料较少

目前遇到问题

  1. 若直接使用原有测试框架,现有 appium-desktop 无法拿到控件 xpath,仅仅使用 ID 拿到控件无法满足同花顺测试业务
  2. 官网及社区现有针对现有 iOS10 测试资料少,多数贴子还停留在询问 appium 工具如何使用阶段,在社区寻求新测试框架,无有效支持 iOS10 自动化测试框架

下一步需要解决问题

  1. 按照原有业务测试逻辑 (需要预先知道每个测试控件的 ID/XPATH), 使用 python 编写测试用例,需要解决 CXUITest 框架下获取 XPATH 问题
  2. 撇开原有测试逻辑,只对 APP 进行功能点遍历测试,寻找新的测试框架中 大家都是怎样解决这些问题的?求指教
共收到 9 条回复 时间 点赞

右边不是有元素的属性吗,你可以直接根据这些属性编写脚本
笨办法利用节点一级一级的去找你要点击的元素
相对方便的可以通过查找属性进行点击事件 比如:@name="搜索"

Zero.0 回复

'//XCUIElementTypeApplication[1]/XCUIElementTypeWindow[1]/XCUIElementTypeOther[2]/XCUIElementTypeOther[3]/XCUIElementTypeOther[2]/XCUIElementTypeTable[1]/XCUIElementTypeCell[1]/XCUIElementTypeStaticText[1]')
请问一下这个里面的元素序号是如何获取到的呢

可以试试 Macaca 的 app inspector
单纯查找元素感觉比 appium 好点

自己写 xpath,绝对路径,相对路径。。

王明海 回复

这个版本是没有元素序号的,我自己总结的经验是元素序号可以自己数的!
同一级下相同的元素第一个就是【1】第二个就是【2】,不同的元素重新数。
就比如说你贴的这个代码:
XCUIElementTypeOther[3] 这个就是在这一级下你要点击的元素在第三个 XCUIElementTypeOther(这里是说第三个相同的 XCUIElementTypeOther)中。
XCUIElementTypeOther[2] 同上,在第二个中。

小白求助~想用 appium 查看元素信息,inspector 打开时报错

使用 appium 时 app 可正常安装,但是启动 instruments 时会报错
然后我用 xcode-instruments 可以正常使用
求怎么解决

xpath 这么长,记得住吗?

这根本不能叫研究的现状,应该叫控件定位的现状😈

建议和开发人员沟通,对每一个控件设置一个 id 值,直接通过 id 就可以找到元素了

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册