javaui⾃动化测试脚本,如何⽤Airtest编写UI⾃动化脚本(⽰例
代码)
前⾔
游戏并不像app⼀样直接把渲染树节点暴露出来,这就造成游戏UI⾃动化在元素定位上的不⽅便性,不过依赖airtest的图⽚识别,我们可以直接跳过元素检查,以图⽚对⽐的形式进⾏⾃动化,虽然效率可能会低⼀些,但是⾄少也是⾃动化了。
脚本⽂件的创建
⾸先需要创建脚本⽂件,airtest提供了两种格式的⽂件——.air后缀和.py后缀;
虽说分开了两种,但两者之前其实差别不是很⼤(源码中.air⽂件最终也是较换成.py⽂件执⾏),具体选择哪
个看个⼈喜好,个⼈⽐较喜欢纯python⽂件,因此创建的为.py后缀的⽂件
设置⽂件保存的路径及⽂件名
设定好之后直接点击下⽅的ok按钮,airtest即会⾃动⽣成如下的python⽂件
设备的连接
设备的连接这⾥就不细讲了,直接⽤connect连接便可,若发现连接失败,尝试点击connect右侧的下拉框选择use javacap或者其它
脚本的编写
airtest由于其傻⽠式设计,让脚本的编写变得⾮常简单,基本上只要了解python的while/for循环、等待,就可以应对⼤多数的脚本编写
以腾讯动漫举个例⼦,为其设定⼀个⾃动化需求为:
1.打开app
2.登录
3.跳转到QQ授权界⾯取消授权
4.再登录
5.跳转到QQ授权界⾯确定授权
6.登录成功
7.搜索漫画“⼫兄”
8.退出登录
9.不停重复登录到退出之间的操作以确定是否有问题
当然,app的⾃动化⽬前主流是appium,不过airtest的纯UI识别也是可以做app的⾃动化,因此在此⽤更为⽅便的app,⽽不是游戏
我们⾸先进⾏需求分析,“不停重复登录到退出之间的操作”说明我们需要使⽤的是while循环,⽽前⾯的流程我们只需要按顺序写好就⾏了
打开app(最好是⽤package名去打开,这⾥因为懒得去翻腾讯动漫的包名,便直接以ui识别的形式打开):
打开我们只需要点击⼀次app即可,因此
怎么用java编写app软件先点击左侧的touch按钮,点击后会出现截图的效果,直接移动到腾讯动漫的图标上,把动漫的图标截图下来,airtest会⾃动在.py⽂件上⽣成touch代码
由于打开app需要等待⼀段时间让app初始化⼀下,⼤概5秒,我们但要引⼊python的等待time.sleep(5):
跳转到登录页签:
再将while True写上:
我们⼿动将app打开,再对后续的步骤每⼀步⽤airtest截好对应的操作图:
“点我登录”
跳转到登录⽅式后,我们要点击QQ登录
后续的都是这样⼀步⼀步截图即可,这⾥就暂略了
脚本的执⾏
脚本的执⾏只需要点击上⽅对应的三⾓按钮即可
LOG
对于不太懂python的⼈来说,log查看窗打印的东西可能看不懂,因此有参考价值的只有报错时间(哪⼀步的报错会直接在代码出置红显⽰)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论