前言

游戏并不像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即可,因此

先点击左侧的touch按钮,点击后会出现截图的效果,直接移动到腾讯动漫的图标上,把动漫的图标截图下来,airtest会自动在.py文件上生成touch代码

由于打开app需要等待一段时间让app初始化一下,大概5秒,我们但要引入python的等待time.sleep(5):

跳转到登录页签:

再将while True写上:

我们手动将app打开,再对后续的步骤每一步用airtest截好对应的操作图:

“点我登录”

跳转到登录方式后,我们要点击QQ登录

后续的都是这样一步一步截图即可,这里就暂略了

脚本的执行

脚本的执行只需要点击上方对应的三角按钮即可

LOG

对于不太懂python的人来说,log查看窗打印的东西可能看不懂,因此有参考价值的只有报错时间(哪一步的报错会直接在代码出置红显示)

python脚本写ui自动化_如何用Airtest编写UI自动化脚本相关推荐

  1. java ui自动化测试脚本,如何用Airtest编写UI自动化脚本(示例代码)

    前言 游戏并不像app一样直接把渲染树节点暴露出来,这就造成游戏UI自动化在元素定位上的不方便性,不过依赖airtest的图片识别,我们可以直接跳过元素检查,以图片对比的形式进行自动化,虽然效率可能会 ...

  2. python write 写多行_如何用 Python 执行单行命令

    一般来说,面对日常处理的一些小任务,直接用 sed,grep 之类的就可以搞定,更复杂一点的就会考虑 awk 或者用一些现成的轮子,要是 awk 搞不定我就只好用 Python 了.但有些时候,我仅仅 ...

  3. python web为什么不火_如何用纯 Python 写交互式 Web 应用?

    不用学前端编程,你就能用 Python 简单高效写出漂亮的交互式 Web 应用,将你的数据分析成果立即展示给团队和客户. 痛点 从我开始折腾数据分析工具的那一天,就没有想明白一件事儿 -- 我打算把数 ...

  4. element ui 空格_空格是您的UI朋友。 大量使用它。

    element ui 空格 Originally published at marcandrew.me on July 30th, 2020. 最初于 2020 年7月30日 在 marcandrew ...

  5. python代码模拟宇宙天体_如何用python模拟一个星系?

    在一开始,还是要感谢一下凌晨晓骥. 我的这个回答相当于对他的答案的一个补充.主要目标是帮助大家安装Gadget-2,并引导你们自己画出银河碰撞的视频. 那么开始了! 首先看一下我们的目标星系碰撞模拟_ ...

  6. python和shell哪个快_有没有可能让这个shell脚本更快?

    我的任务是创建一个以一个巨大的文本文件作为输入的脚本.然后它需要找到所有单词和出现的次数,并创建一个新文件,每行显示一个唯一的单词及其出现的次数.在 以包含以下内容的文件为例:Lorem ipsum ...

  7. python能制作游戏吗_如何用Python制作小游戏

    要想用Python制作小游戏,必须要安装一个插件Pygame 什么是Pygame Pygame是跨平台Python模块,专为电子游戏设计,包含图像.声音.建立在SDL基础上,允许实时电子游戏研发而无需 ...

  8. 上拉加载_如何用Vue + Mint UI实现上拉加载更多

    引言: 上拉加载更多在移动端不论是在 app 里面还是在页面中都是必不可少的,以下是 mint-ui 中上拉加载更多的总结. 一.在项目中使用 mint-ui 需要先安装 查看官网 (1)安装:npm ...

  9. 学习ui设计_如果您想学习UI设计,该怎么办

    学习ui设计 There is a question that is always asked when we want to learn something new. 当我们想学习新东西时,总会问一 ...

最新文章

  1. SpringJpa多对多映射关系
  2. setInterval和setTimeout的区别以及setInterval越来越快问题的解决方法
  3. 如何快速简单粗暴地理解Python中的if __name__ == ‘__main__‘
  4. 5月23 注册审核
  5. Cinemachine教程 | Unity中如何制作路径动画?
  6. 演示和解析Flex布局中的各种属性
  7. android eclipse下载
  8. 2016年WiFi行业技术发展趋势解析
  9. CorelDRAWX4的VBA插件开发{一}前言及最简单的小程序写法
  10. 7-2 哥尼斯堡的“七桥问题” (25分)
  11. 【25.00%】【vijos P1907】飞扬的小鸟
  12. xbox手柄适配器驱动_用于Windows的Xbox 360控制器无线接收器适配器
  13. 如何删除数据库中的冗余数据
  14. 【word】如何让文本中已经使用的样式出现在样式库中?
  15. QQ农场之舌尖上的美食(20210729~20211021)
  16. 基于时间序列分析方法的零售业快消品销量预测研究
  17. [C语言]累加器----PTA
  18. 蚂蚁金服二面————终结
  19. Android PDF原生实现 PDF阅读、PDF手势伸缩、PDF目录、PDF预览缩略图 PDF方案选择 google doc android-pdfview mupdf pdf.js x5
  20. 无菌实验室建设灭菌方法指南

热门文章

  1. 垃圾邮件冒充中国工商银行传播Sodinokibi勒索病毒
  2. 【C】libpng的使用
  3. ch4-数据库安全性
  4. iOS 打开html、txt、PDF、PPT等文件
  5. ES6 —— 3、async-await、微任务和宏任务、class、proxy(代理)
  6. 怎样在Mac上查看端口号
  7. [MATLAB] BS期权隐含资产(implied asset)和隐含波动率(implied volatility)计算 迭代法 源码程序
  8. oracle完整的新建用户,oracle新建用户
  9. 产品设计体会(二三)——用户研究
  10. 使用Stream排序分组