APP自动化的元素定位
app自动化和web自动化比较类似 (指UI自动化,非api),不过web自动化时inspect元素比较方便,使用chrome或者firefox无论自写元素定位或者直接获取xpath都很简单。
做app自动化时,各类元素则显得没有那么直观。下面列出一些元素定位可以使用的工具和方式。
1. 使用appium自带的inspector,但是得下载桌面版,如果只是命令行式的则没有。
2. 使用macaca的inspector,可以参照https://github.com/macacajs/app-inspector。
运行npm install app-inspector -g,安装后运行app-inspector -u [device_udid] --verbose即可看到,如下图。
对于android同样可行,如果遇到提示app-debug.apk not found的问题,按照这个链接里的解决方法做一遍就可以了:https://github.com/macacajs/app-inspector/issues/193,android的效果如下图:
3. 对应ios,appium也有ios-inspector,可以参考https://github.com/mykola-mokhnach/Appium-iOS-Inspector。
4. 使用webdriveragent的inspector,前一篇文章有介绍如何在mac上配置appium的环境,在配置过程中,会build webdriveragent,在build和test的过程中,其实就能看到一个server url,这个url就能用于inspect元素。
如下图,连上手机后再xcode中test webdriveragent
打开红框中的url可以看到session,在url后加上inspector,比如http://169.254.85.134:8100/inspector,则可以看到各元素的情况,如下图:
5. 对于android可以用UI automator view。
6. 通过page source来自己查看,这个方式不是很直观,但比较详细。比如python用print(driver.page_source),是把当前页面的所有内容抓出来,保存到一个xml文件里,可以找需要的内容。
有遇到其他的再来补充。