手机自动化测试IDE-----Airtest实战篇

2021-05-18 14:19:42 浏览数 (1)

前言

前面我们讲到了Airtest的基础知识,手机自动化测试IDE-----Airtest基本操作方法,手机自动化测试IDE ----- Airtest的安装和IDE控件详解,今天我们就来说说Airtest的具体操作方法吧,让我们轻松实现软件自动化,真正解放我们的双手吧。

基本操作

我们就是用我们说的跨平台API模块中的方法来操作我们的APK,下面来看下吧。我们先点击Touch,然后框选App所在的区域,如图:

这里框选好了后就会在脚本编辑器中自动生成代码了,如图:

这里就相当于点击了拼多多这个App了。当然这里只是给大家讲了一个例子,我们真正来做开发时,可以选择一些短视频软件,比如抖音,微视,快手等下面我们就以抖音为主来讲解下具体操作流程。

1.点击目标APP并等待界面加载完毕

我们要做自动点击肯定不能只是点击App就完事了啊,还有每个APP启动后的时间都不固定,我们肯定得等APP启动完毕之后我们才可以进行下一步操作,那么这样怎样做呢?我们以短视频软件微视为主,下面请看:

我们先点击微视,打开微视有两种方法,如下:

1).根据图像识别来打开

上面的这种方法就是根据图像识别来打开的。使用这种方法你要打开的APP必须在当前页,不可在其它页,否则搜索不到。

2).根据包名打开

这里我们首先需要获取到所有的包名,然后找到微视的包名,如下;

代码语言:javascript复制
dev=device()  # 先获取到当前设备对象,即是Android对象
print(dev.list_app())  # 平台接口列表
start_app('com.tencent.weishi')#利用包名打开微视

喜欢哪种方法就用哪种方法。建议用第一种,因为有时候包名太多不好找。

2.点赞评论关闭

由于刚刚微视崩溃了,所以这里采用抖音短视频,这里我们需要将需要打开的APP的图像截取下来,先等到它在这篇区域出现然后点击才能进行其它操作 ,如下:

然后就是输入评论,输完后关闭评论,最后退出。

这样我们就实现了打开抖音视频并且给视频点赞和评论,然后关闭抖音回到桌面。这里有个小技巧分享给大家,就是大家在点击某一个区域的图像时记得先Wait一下哦,因为如果Wait的话如果你直接点击的话就会报错了。

3.截屏加滑动屏幕

如果想要捕捉操作截图的话,可以使用Snapshot进行截图,记得指定绝对地址哦。如下:

代码语言:javascript复制
snapshot(filename=r'C:UsersAdministratorDesktoptest.jpg',msg='截图成功')

成功截图了;然后我们给它添加个滑动视频的动作,因为我们不知道我们鼠标此时所处的位置的坐标的值是多少,所以我们需要开启Airtest中的一项重要功能----实时坐标显示。设置方法如下图所示:

第二个代码补全对于电脑配置好的可以开启,电脑配置太差不建议开启。

可看到鼠标的坐标了。然后我们需要使用Swipe的帮助,有了它我们可以进行滑动屏幕的操作了,如下:

这行代码是我通过截取视频中两个地方的图像然后才得到的方法参数,这里是向量位移的操作。我们可以看到我们进行了这么多操作,但是都是一些图片,而且图片有的大有的小,看着不美观,我们其实可以将这些图片转换为代码,如下:

只需选中图片代码模式切换即可,我们所截取的图片都在这个文件里,大家可以去看看就知道了。其实这个就是PY文件里的内容。

4.不断滑动屏幕

那么重点来了,我们该如何将它重复一直滑动了,很简单,死循环,顺便给它加个随机延时。

代码语言:javascript复制
import random

wait(Template(r"tpl1594203055954.png", record_pos=(0.356, 0.562), resolution=(1080, 2340)))
sleep(1)

touch(Template(r"tpl1594203066034.png", record_pos=(0.354, 0.564), resolution=(1080, 2340)))
sleep(2)
exists(Template(r"tpl1594203382253.png", record_pos=(0.415, 0.139), resolution=(1080, 2340)))
sleep(2)
snapshot(filename=r'C:UsersAdministratorDesktoptest.jpg',msg='截图成功')
sleep(2)
assert_exists(Template(r"tpl1594203920118.png", record_pos=(0.411, 0.33), resolution=(1080, 2340)), "请填写测试点")

while True:#死循环,不断滑动短视频
    aa=random.randint(1,5)
    swipe((700,1950),(700,300))
    sleep(aa)

我们也可以在这个死循环里加入其它的操作,比如点赞,评论啥的,上面我都有说到,大家可以结合试试。

总结

通过对Airtest框架的学习,我们就能轻松做出短视频的点赞评论滑动以及其它功能,很多互粉的小盆友需要的正是这种神器了。

我是皮皮,如果觉得文章不错,记得三连噢,大家有问题也可以点击下方的图片,加我好友,交个朋友也好呀~

0 人点赞