Bob's Blog

Web开发、测试框架、自动化平台、APP开发、机器学习等

返回上页首页

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文件里,可以找需要的内容。

有遇到其他的再来补充。

下一篇:  看西航动力研究所张小平事件有感
上一篇:  Selenium Webdriver做自动化时一些有用的js操作

共有0条评论

添加评论

暂无评论