小虾米资讯
AD1android:移动端UI自动化的一次尝试
2021-03-05 12:35:42 / 我要吐槽AD2
今儿准备开个新帖,用来介绍一款自动化框架,并写一个小项目;帖子会一直更新,请不要催更哈~还有,帖子内容只是我自己的一些观点,如果大家有不同的理解或建议,也可以多交流~ 开始: 对于移动端的自动化时下最火的莫过于Appium 了,它支持多种语言,并且支持跨平台,也就是写一套代码可以在不同的平台上运行(如安卓和ios),但他也有很明显的问题,首先就是环境安装很复杂,对于想要自学Appium的同学很不友好,在没有别人帮助的情况下,有80%都死在了环境搭建上面,剩下10%可能折腾超过一周最后放弃,只有较幸运的10%一次性安装通过,这个很折磨人,我第一次安装时也折腾了好几天,总是出现各种奇怪的问题。 Appium的另一个优势就是跨平台了,简单来说就是写一套代码就可以同时在安卓和ios上运行,只不过这是一种比较理想的情况,实际情况往往是 Android和ios 产品由两组不同的开发人员开发,如果公司的技术规范并不严格的话,往往会出现 同一个功能,同一个元素在Android和ios上会有两种不同的命名方式,这就会导致case中需要判断系统来区别对待了,从而使case变得很复杂,不易维护。目前我接触过的一些用Appium项目基本也是Android和ios分开写,即写两套代码来维护,但这样一来它的跨平台这一优势就无从体现了。 ui2介绍: 我这里准备用的框架并不是Appium,是一款叫 uiautomator2 的框架,是由阿里团队开源的一款针对Android的ui框架, uiautomator2是一个自动化测试开源工具,仅支持android平台的自动化测试;谷歌公司自安卓4.1开始,安卓的sdk中集成了uiautomator,它可以对原生安卓进行任意操作 而uiautomator2 就是用python 封装了谷歌自带的uiautomator测试框架,可以运行在支持Python的任一系统上,详细情况大家可以参考githubuiautomator2 github地址:https://github.com/openatx/uiautomator2 优点:与Appium相比最明显的区别就是 执行速度快,而且不止快一点(Appium为什么那么慢我也不知道~)稳定性也很好 缺点:只支持Android系统,而且主要针对安卓源生App,其它的就不太合适了,比如对百度贴吧app就不太适用 这个帖子准备用 uiautomator2 来实现对微信App一些功能的自动化测试,毕竟大家都有微信嘛,帖子会着重于实战,关于基础部分的内容已经有很多人整理过了而且整理的很好,我就不在整理了。 下面我放一些我收集的关于uiautomator2 的api介绍和讲解文章/视频 : 比较不错的一些教程: https://www.cnblogs.com/Appleli/p/11413229.html https://blog.csdn.net/master724/article/details/107962349 https://cloud.tencent.com/developer/article/1689065 视频教程地址: https://www.bilibili.com/video/BV175411Y7JV?p=16 好了,开头部分就到这里吧,下面就开始更新微信项目实战了- 上一篇: 安卓端不能自定义缓存目录了吗
- 下一篇:如何搭建Android平台的分布式编译环境
Powered By © 小虾米资讯 2015
(本站部分文章来源于网络或网友爆料,不代表本站观点,如有侵权请联系及时删除 )