觉得不错的请打赏积分,靴靴!

基于现在python现在正流行,上手比java简单,由于本人才疏学浅,这里写个超超超简单的框架(本例子只支持单线程,因为用到了adb命令,我没有去写获取多设备的方法),下面开始吧

思路还是要有的,有个报告是必须的,自动收集cases下的用例跑就用unittest吧,然后输出报告,我用的是HTMLTestRunner,网上有很多写的很好看的适配python3的,可以直接下载来用,我自己下了一个好看的,在HTMLTestRunner报告页面加了手机型号和分辨率等信息

在这之前你要安装appium,安装命令和桌面都OK,我是觉得桌面版本很好,还可以用来查看Android的元素uiautomator已经过时了,打开后再跑下面的例子,最后集成到自己的jenkins,OK了

首先我们定义这样一个构架:

appium python 代码 appium python框架_appium·

cases里面放置要写的用例,例如修改个人信息,加入购物车等,大概长这样↓,里面的初始化的APP信息,用的是最简单的unittest,至于test开头的例子,例如登录点击等等具体的操作都放在Pages目录下,用例和页面分离,cases中写如下

appium python 代码 appium python框架_appium python 代码_02

StartApp中写成这种,很明显是一些初始化的信息和启动appium,appium的话自己装桌面版和命令版本的都一样,两个都装也可以,现在都用桌面版的appium去定位Android的元素了

appium python 代码 appium python框架_python_03

yaml文件配置成如下格式

appium python 代码 appium python框架_appium·_04

desc是adb shell getprop ro.product.model  的结果,就是手机型号

config中放一些常用变量

appium python 代码 appium python框架_UI自动化_05

我们运行时直接运行main文件,

appium python 代码 appium python框架_UI自动化_06

最后在pages里放的用例例如

appium python 代码 appium python框架_appium·_07

然后写其他用例也是类似的方法就行了,加一些判断断言什么的,也可以复写原来的方法,例如找寻并点击放一起

然后运行报告

appium python 代码 appium python框架_python_08

报告还挺好看的

好了,至此一个超超超简单的例子就成了,其实同样适用于web端,但是要改一改了,

相当于JAVA中的TestNG了,其实底层都是appium,只是语言的不同,语言不是重要的,如何用类自然语言来封装而且框架适用于Android和IOS才是学以致用,把代码封装成类自然语言让上手变得更简单才是终极但是我觉得robot很过时,如果你用了cucumber请留言,最近一直在研究区块链,难啊。。。