觉得不错的请打赏积分,靴靴!
基于现在python现在正流行,上手比java简单,由于本人才疏学浅,这里写个超超超简单的框架(本例子只支持单线程,因为用到了adb命令,我没有去写获取多设备的方法),下面开始吧
思路还是要有的,有个报告是必须的,自动收集cases下的用例跑就用unittest吧,然后输出报告,我用的是HTMLTestRunner,网上有很多写的很好看的适配python3的,可以直接下载来用,我自己下了一个好看的,在HTMLTestRunner报告页面加了手机型号和分辨率等信息
在这之前你要安装appium,安装命令和桌面都OK,我是觉得桌面版本很好,还可以用来查看Android的元素uiautomator已经过时了,打开后再跑下面的例子,最后集成到自己的jenkins,OK了
首先我们定义这样一个构架:
cases里面放置要写的用例,例如修改个人信息,加入购物车等,大概长这样↓,里面的初始化的APP信息,用的是最简单的unittest,至于test开头的例子,例如登录点击等等具体的操作都放在Pages目录下,用例和页面分离,cases中写如下
StartApp中写成这种,很明显是一些初始化的信息和启动appium,appium的话自己装桌面版和命令版本的都一样,两个都装也可以,现在都用桌面版的appium去定位Android的元素了
yaml文件配置成如下格式
desc是adb shell getprop ro.product.model 的结果,就是手机型号
config中放一些常用变量
我们运行时直接运行main文件,
最后在pages里放的用例例如
然后写其他用例也是类似的方法就行了,加一些判断断言什么的,也可以复写原来的方法,例如找寻并点击放一起
然后运行报告
报告还挺好看的
好了,至此一个超超超简单的例子就成了,其实同样适用于web端,但是要改一改了,
相当于JAVA中的TestNG了,其实底层都是appium,只是语言的不同,语言不是重要的,如何用类自然语言来封装而且框架适用于Android和IOS才是学以致用,把代码封装成类自然语言让上手变得更简单才是终极但是我觉得robot很过时,如果你用了cucumber请留言,最近一直在研究区块链,难啊。。。