一天我在公司用手机看游戏直播,同事问我在玩什么游戏?我和他说在看直播,他恍然大悟:原来如此,我还纳闷你玩游戏,咋不用动手呢。。。。一语惊醒梦中人:玩游戏不用动手,怎样才能做到玩游戏不用手呢?我要去 GitHub 上找找~

本期介绍的是 GitHub 上标星 5.4k 由网易开源和维护的开源项目:Airtest 一款基于 Python 的跨平台 UI 自动化测试框架,释放双手“玩”游戏、“耍”应用!

项目地址:github.com/AirtestProj…

所谓 UI 自动化就是让游戏和应用,按照预先设定的步骤自己动。可用来实现自动测试应用,也可以用来实现应用自动化。。。就像升级版按键精灵?

一、应用场景

首先这个项目适合所有读者,只要跟着本教程仅需会一点 Python 语法,就可以学会用 Airtest 解决一些重复性的工作,释放你的双手!比如:检测僵尸好友、批量点赞、刷游戏副本、自动化测试等等。

如果测试同学上手了 Airtest 就会赞不绝口,毕竟测试界面的每个按钮是否有效是一个机械性的任务,不应该让机械的操作浪费宝贵的时间,有了它可以轻松搞定“点点点”的测试需求。

另外 Airtest 对于普通使用者能做到最有意思的事情就是做 游戏自动化。例如,在游戏中经常会有许多固定模式的日常任务,通过 Airtest 可以让这些枯燥的日常任务,自动执行从而节省时间。对于阴阳师等游戏配合游戏自带的自动战斗经过调试我们甚至可以做到全自动游玩,让玩家彻底解放双手!

看到这里是不是跃跃欲试了呢?下面就跟着小编一起上手 Airtest 吧~

二、上手

安装:

$ pip install -U airtest
复制代码

对于新手来讲,我个人推荐使用官方推出可视化编辑器 AirtestIDE,使用起来非常方便,一键快速连接安卓、iOS 等设备,同时支持图像识别与 UI 元素识别。

下载地址:airtest.netease.com/

后面的教程也是采用 AirtestIDE 讲解,手机为 Android 系统。

1. 打开手机开发者模式

打开手机的设置界面,找到 关于手机 界面:

连续点击 版本号 栏目直到提示开发者模式已经打开:

然后根据机型不同,找到开发人员选项中,打开开发人员选项 -> USB 调试 -> “仅充电”模式下允许ADB调试,关闭 监控 ADB 安装应用

之后将我们的手机使用数据线与电脑连接起来。

注意:为了防止发生安全问题,不连接 AirtestIDE 时请关闭 USB 调试功能!

2. 连接安卓手机

启动 AirtestIDE 后会提示需要登录,这里可以直接点击 Skip 跳过。然后我们就能看到主界面啦:

当手机连接到电脑后,点击设备连接窗口刷新 ADB按钮后等待一会儿就能看见我们的手机:

点击 操作 栏的 connect 后即可连接手机。

第一次连接时在手机上会弹出认证提示,无特殊情况点击同意即可

之后就能看到我们手机画面:

同时鼠标可代替手指进行点击操作。

3. 实现自动访问 HG 官网

实现手机自动访问网站仅需要简单的 3 步:

1、在 Airtest 辅助窗 找到 touchtext

2、点击 touch 后在手机画面选择浏览器图标截图,生成如下代码:

3、选择 text 输入:www.hellogithub.com

最后点击 运行 按钮即可。

注意,此部分由于需要安装 yosemite 调试工具可能需要先运行几次才可成功,而且图像识别有一定概率会失败

同样,IDE 也支持录制动作,点击 Airtest 辅助窗 里的录像按钮即可:

之后使用鼠标操作手机,IDE 就会自动为我们生成脚本了。

4. 生成报告(测试人员最爱)

Airtest 可以非常方便的生成测试报告,只需要点击 IDE 上方的生成报告按钮:

即可自动生成全面的测试报告:

三、自动识别

在实际应用中,有些时候是图片识别无法完成或者存在困难的,这时我们可以利用 Poco 工具直接识别 UI 框架定位元素。

一个很简单的例子,自动打开 HG 的微信小程序并分享机器学习的内容:

from airtest.core.api import *
from poco.drivers.android.uiautomation import AndroidUiautomationPocopoco = AndroidUiautomationPoco()auto_setup(__file__)poco(text="HelloGitHub").click()
poco(text="#机器学习").click()
poco(text="tutorials").click()
poco("android.widget.Button").click()
复制代码

利用 IDE 的 Poco 录制功能可以很方便的自动生成上述代码,实际效果如下:

在应用当中巧妙地利用 Poco 可以节省很多图片识别时间以及应用背景不同时程序的稳定性。

四、结语

到这里 Airtest 的演示就结束啦!本文仅仅演示了 Airtest 最基本的功能。游戏自动化只是其中很小的一个功能,它主要还是用来做自动化测试。支持不同设备同时进行测试,但对于使用者而言有一定的上手门槛,感兴趣去的小伙伴可以去深入研究研究,但要注意方向呀~

《讲解开源项目》:github.com/HelloGitHub…

最后,感谢您的阅读!这里是 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。您的每个点赞、留言、分享都是对我们最大的鼓励! 需要相关资料可以关注我后台私信我666 点击链接找我获取

这款开源测试神器,圆了我玩游戏不用动手的梦想相关推荐

  1. Typora 收费?试试这款开源 Markdown 神器!好用还美观

    点击关注公众号,回复"1024"获取2TB学习资源! Markdown是一种轻量级标记语言,创始人为约翰·格鲁伯(英语:John Gruber).它允许人们使用易读易写的纯文本格式 ...

  2. python测试用例管理工具_三款开源测试管理工具推荐

    测试管理包括测试过程中的测试计划,测试执行以及执行结果的存储和分析. 具体来说就是和其它工具比如需求管理工具,功能测试工具比如Selenium和Cucumber,持续集成工具比如Jenkins和Tea ...

  3. Mantis 是一种测试管理软件,三款开源测试管理工具推荐

    测试管理包括测试过程中的测试计划,测试执行以及执行结果的存储和分析. 具体来说就是和其它工具比如需求管理工具,功能测试工具比如Selenium和Cucumber,持续集成工具比如Jenkins和Tea ...

  4. 专业显卡打游戏测试软件,专业显卡能玩游戏吗?专业卡游戏实测

    专业显卡能玩游戏吗?专业卡游戏实测 2013年03月06日 00:12作者:汤炜炜编辑:汤炜炜 分享 泡泡网显卡频道3月6日 图形工作站专业显卡与消费级游戏显卡在硬件上是完全一样的,区别只在于规格微调 ...

  5. 一款 API 测试神器,非常强

    做开发已经四年有余了,之前在接口测试的时候最开始用的自己写的测试类进行测试,后来接触到了 postman 和 swagger ,虽然用起来比自己写的强太多了,但是总觉得差点事儿. 一方面是 postm ...

  6. 优秀的开源测试工具和框架推荐:精选十大神器!

    目录 引言 Katalon Studio Selenium Appium JMeter SOAP UI Robot Framework Watir JUnit Robotium Citrus 结语 引 ...

  7. 渗透测试神器CS(4.0)的使用

    CS CS简介 CS功能 安装CS CS的基本使用 深入标题介绍 Beacon Commands 基础操作演示 CS简介 CS 是Cobalt Strike的简称,是一款渗透测试神器,常被业界人称为C ...

  8. 开源测试平台RunnerGo,测试工程师必备

    作为一名工作多年的测试工程师一直希望有一款可以颠覆目前测试工具的平台,相较于研发岗位有各种工具可以覆盖他们整个的工作流程,而测试工具比如:jmeter,它的功能更突出在性能测试方面,其他方面更依赖于各 ...

  9. 渗透测试神器CobaltStrike使用教程

    简介: Cobalt Strike是一款渗透测试神器,常被业界人称为CS神器.Cobalt Strike已经不再使用MSF而是作为单独的平台使用,它分为客户端与服务端,服务端是一个,客户端可以有多个, ...

最新文章

  1. beast linux加密,PHP-Beast v2.2发布,PHP源码加密扩展
  2. 开始喜欢Python了
  3. perl里字符串取长度,比较等一些操作
  4. 成功解决getaddrinfo:请求的名称有效,但是找不到请求的类型的数据。(11004
  5. 【数据分析+建模案例】基于所给数据集对饭店流量指标进行预测
  6. VTK:PolyData之GeometryFilter
  7. H3C FTP配置示例
  8. .Net Core中IOC容器的使用
  9. 虚拟桌面分屏_桌面中的灭霸 三星C49HG90 32:9超带鱼屏体验
  10. 最牛逼的微服务架构方案,没有之一!
  11. Linux驱动技术(六) _内核中断
  12. C++提高部分_C++函数模板_注意事项---C++语言工作笔记082
  13. 一文看尽深度学习这半年
  14. 博文视点OpenParty第11期“世界黑客大会那些事儿”成功举办
  15. 欠薪投诉竟然要3个月才有结果,这办事效率……
  16. 3dmax导出fbx事项注意
  17. 软件测试常用的黑盒测试方法有哪些,简述什么是黑盒测试方法(最常用的黑盒测试方法)...
  18. 三维扫描仪修复的功能有多重要
  19. VR驾驶模拟器:以科技赋能加速推动驾培行业转型升级
  20. 9.5 用算法和数学奠定专业基础——《逆袭大学》连载

热门文章

  1. ISME:宏基因组探究美洲河狸粪便微生物
  2. 行业盛会!2018中国人体微生物组大会
  3. android switcher控件,Android ViewSwitcher 的功能与用法
  4. java http 下载网页代码_Java下http下载文件客户端和上传文件客户端实例代码
  5. R语言使用tidyquant包的tq_transmute函数计算持有某只股票的天、月、周收益率、ggplot2使用条形图(bar plot)可视化股票年收益率数据使用不同的色彩表征正收益率和负收益率
  6. R语言ggplot2可视化移除多余的图例信息实战
  7. 深度学习之核心要素:输入输出、目标函数、前向传播、后向传播、学习率、梯度下降
  8. 余弦距离(Cosine距离)与编辑距离分别是什么?各有什么优势和使用场景?
  9. MATLAB计算杨氏模量,四阶弹性模量Cijkl如何在matlab里表示啊? - 计算模拟 - 小木虫 - 学术 科研 互动社区...
  10. linux lvm使用情况,Linux LVM系列(一)lvm使用