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

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

大家好,我是IT共享者,人称皮皮。上篇文章我们介绍了


手机自动化测试IDE ----- 手把手教你用Airtest模拟器来连接手机,这篇我们来讲讲Airtest实际操作方法,一起来看看吧。


前言


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


基本操作


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

image.png

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

image.png

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


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

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

image.png

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

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

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


2).根据包名打开

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

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

image.png

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


2.点赞评论关闭

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

image.png

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

image.png

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


3.截屏加滑动屏幕

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

snapshot(filename=r'C:\Users\Administrator\Desktop\test.jpg',msg='截图成功')

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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


4.不断滑动屏幕

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

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:\Users\Administrator\Desktop\test.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框架的学习,我们就能轻松做出短视频的点赞评论滑动以及其它功能,很多互粉的小盆友需要的正是这种神器了。


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

相关文章
|
1月前
|
XML Java 测试技术
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
这篇文章介绍了Spring5框架的三个新特性:支持@Nullable注解以明确方法返回、参数和属性值可以为空;引入函数式风格的GenericApplicationContext进行对象注册和管理;以及如何整合JUnit5进行单元测试,同时讨论了JUnit4与JUnit5的整合方法,并提出了关于配置文件加载的疑问。
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
|
23天前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【9月更文挑战第5天】性能测试是确保应用在高负载下稳定运行的关键。本文介绍Apache JMeter和Locust两款常用性能测试工具,帮助识别并解决性能瓶颈。JMeter适用于测试静态和动态资源,而Locust则通过Python脚本模拟HTTP请求。文章详细讲解了安装、配置及使用方法,并提供了实战案例,帮助你掌握性能测试技巧,提升应用性能。通过分析测试结果、模拟并发、检查资源使用情况及代码优化,确保应用在高并发环境下表现优异。
44 5
|
1月前
|
前端开发 关系型数据库 测试技术
django集成pytest进行自动化单元测试实战
在Django项目中集成Pytest进行单元测试可以提高测试的灵活性和效率,相比于Django自带的测试框架,Pytest提供了更为丰富和强大的测试功能。本文通过一个实际项目ishareblog介绍django集成pytest进行自动化单元测试实战。
29 3
django集成pytest进行自动化单元测试实战
|
22天前
|
测试技术 Apache 数据库
从慢如蜗牛到飞一般的感觉!Python性能测试实战,JMeter&Locust助你加速🏃‍♂️
【9月更文挑战第6天】你的Python应用是否曾因响应缓慢而让用户望而却步?借助JMeter与Locust,这一切将迎刃而解。JMeter作为Apache基金会的明星项目,以其强大的跨平台和多协议支持能力,成为性能测试领域的魔法师;而Locust则以Python的简洁与高效,让性能测试更加灵活。通过实战演练,你可以利用这两款工具轻松识别并解决性能瓶颈,优化数据库查询、网络配置等,最终使应用变得敏捷高效,轻松应对高并发挑战。
13 1
|
26天前
|
运维 监控 应用服务中间件
自动化运维的新篇章:Ansible Playbooks入门与实战
【9月更文挑战第1天】在追求效率和稳定性的今天,自动化运维已经成为IT行业的必修课。本文将带你走进自动化工具Ansible的世界,通过实战案例深入理解Ansible Playbooks的编写和应用。文章不仅介绍基础概念,更通过具体代码示例,展示如何利用Ansible简化日常运维任务,提升工作效率。无论你是运维新手还是希望深化自动化技能的资深人士,本指南都将为你开启一段新的学习旅程。
|
28天前
|
运维 安全 应用服务中间件
自动化运维的利器:Ansible入门与实战网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【8月更文挑战第30天】在当今快速发展的IT时代,自动化运维已成为提升效率、减少错误的关键。本文将介绍Ansible,一种流行的自动化运维工具,通过简单易懂的语言和实际案例,带领读者从零开始掌握Ansible的使用。我们将一起探索如何利用Ansible简化日常的运维任务,实现快速部署和管理服务器,以及如何处理常见问题。无论你是运维新手还是希望提高工作效率的资深人士,这篇文章都将为你开启自动化运维的新篇章。
|
25天前
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
57 0
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
|
1月前
|
测试技术 API 开发者
.NET单元测试框架大比拼:MSTest、xUnit与NUnit的实战较量与选择指南
【8月更文挑战第28天】单元测试是软件开发中不可或缺的一环,它能够确保代码的质量和稳定性。在.NET生态系统中,MSTest、xUnit和NUnit是最为流行的单元测试框架。本文将对这三种测试框架进行全面解析,并通过示例代码展示它们的基本用法和特点。
52 7
|
29天前
|
IDE Java 测试技术
揭秘Java高效编程:测试与调试实战策略,让你代码质量飞跃,职场竞争力飙升!
【8月更文挑战第30天】在软件开发中,测试与调试对确保代码质量至关重要。本文通过对比单元测试、集成测试、调试技巧及静态代码分析,探讨了多种实用的Java测试与调试策略。JUnit和Mockito分别用于单元测试与集成测试,有助于提前发现错误并提高代码可维护性;Eclipse和IntelliJ IDEA内置调试器则能快速定位问题;Checkstyle和PMD等工具则通过静态代码分析发现潜在问题。综合运用这些策略,可显著提升代码质量,为项目成功打下坚实基础。
46 2
|
1月前
|
运维 Ubuntu 应用服务中间件
自动化运维的利器:Ansible入门与实战应用
【8月更文挑战第28天】在现代IT运维领域,自动化已成为提升效率、确保一致性和可靠性的关键。本文将引导读者了解Ansible——一种流行的自动化工具,它通过简化配置管理、部署和任务自动化流程,助力运维人员轻松应对日常挑战。从基础安装到高级用法,我们将一步步探索Ansible的魔力,并通过实际案例展示如何有效利用Ansible优化运维工作。无论你是初学者还是有经验的管理员,这篇文章都将为你提供宝贵的知识和技能,让你的运维之旅更加顺畅。