【实测】用airtest自动化做手游的每日任务

本文涉及的产品
图像搜索,7款服务类型 1个月
简介: 【实测】用airtest自动化做手游的每日任务

 对于喜欢玩游戏的同学来说,无论是大型pc网络游戏,还是手游。最烦的应该就是做每日任务了吧?

   既无聊,枯燥,还浪费时间。

   但是呢,又不敢落下一天,毕竟白花花的经验和奖励在呢。


   本来我们可以一直忍受这些,但是咱公众号的粉丝可不是一般人,那可都是自动化/测开啊。我们这种工程师,能甘心去手动点点点这些每日任务么?    

   当然不能!我们连工作都是自动化,时间那么宝贵,怎么能浪费在这些每日任务上?


   所以,本文会教大家如何去用自动化的零门槛技术,来解决这个痛点。

   

   具体的效果就不展示了,懂的都懂。

 

   但是在我的pyq中好友的评价中 可见一斑:

image.png

   

   然后说说具体要怎么做?

   

   一:下载一个airtest IDE

 

image.png

   二:配置好adb命令,然后链接手机/平板  

image.png

   

   三:开始写脚本

   一般都是按图像识别来定位和点击滑动等操作。这些都属于airtest最基本的使用。

   比如:

image.png

其中各种功能使用,我以后会在培训中具体详细的讲到。


   四:开始设计脚本架构

   这句是什么意思?大家现在一定觉得,就模仿人手工点击等操作,线性的从上到下开始写脚本了。为什么还要有什么架构方面的考虑?


   这里说一下,我一开始也觉得这种很简单,但是当我真的给一个游戏制作自动化的时候才发现,很复杂。

   游戏中的每一条路线,步骤,都并不是完全固定的,而且涉及到大量的重复操作。让本就不可靠的脚本稳定性进一步降低,代码冗余进一步加大。

   那种类似于传统 鼠标精灵的 方式显然不适合这么复杂和大量的各种每日任务的处理。


   所以不得已,我才考虑到了设计架构。

   

   首先就是要给所有功能进行分类分模块。原则上,保证每个模块的高内聚低耦合,和一定的智能性。


   按照下面几个来分:

   

   1. 【寻找函数】:进入各个每日任务的界面 (多种路线进入方式)

   2.【进入函数】:开启各个每日任务的功能(尝试点击不同的开始按钮)

   3.【刷图函数】:如果需要刷图才用到(这个比较复杂,要设计自动去搜索敌人并且判断坐标,然后判断自己人物坐标,再计算出要点击几次方向键到较劲的位置,然后点击技能按钮。当然大部分刷图只往前跑就行,怪物会自动来到你身边~)

   4.【退出到首页】:不论当前处于什么界面,都要能成功返回到首页,这样才能完整的执行下一个任务。体现了低耦合的特性。这个函数也是在所有寻找函数之前都要运行的。

   5. 【领奖函数】:当做完了每日任务后,剩下的自然是点击领取奖励了,这个函数也是要足够智能,所谓智能就是你把几种可能存在的奖励都截图写到脚本中,让函数不断的去尝试。这种耦合性是最低的,完全可以胜任任何奖励的场景,你之后就不用再去考虑什么了。

   6. 【切换角色】:如果账号有多个角色的话,就需要使用这个函数。把你的角色从上到下,从左到右,依次录入角色图像即可。这个函数是在某个大循环内的起始执行。先切换角色,然后才是寻找函数/进入/刷图/退出/领奖等。

   7. 【检查函数】:ui自动化,尤其是图像识别类的自动化,稳定性实在是不敢恭维。影响的因素很多,所以最后一定要运行一遍收尾的检查函数。这个函数,你要负责去检查各个角色的每日任务是否有没有完成/没有领奖的。如果有,则统计下来,然后再次运行对应的函数,相当于二次补救措施。


   好了,总结了这么多之后,最后还要嘱咐几句:


   图像识别的脚本,每个图像,你都可以通过双击来打开它的具体定位参数设置界面。


   这里你最好对每个角色的相同页面等,不同分辨率等,都进行测试。界面有对应的按钮可以调试。你通过设置图像的模糊对比度(一般0.6-0.8) 还有是否严格颜色筛选等,来保证每个图像都可以成功识别且不会出错才行。


   如果你没有上面的这步,那么你的脚本,大概率会因为各种难以定位的原因失败。因为图像识别就是这样,有时候你也不明白,为什么这样的按钮会定位到了 一个完全没有按钮的空白位置.... 所以要通过调节设置参数来保证正好定位到。


   好了,最后欢迎关注:测试开发干货

相关文章
|
3月前
|
运维 Prometheus 监控
自动化运维的魔法:使用Python脚本简化日常任务
【8月更文挑战第50天】在数字化时代的浪潮中,自动化运维成为提升效率、减少人为错误的利器。本文将通过一个实际案例,展示如何利用Python脚本实现自动化部署和监控,从而让运维工作变得更加轻松和高效。我们将一起探索代码的力量,解锁自动化运维的神秘面纱,让你的工作环境焕然一新。
168 81
|
28天前
|
运维 Ubuntu Linux
自动化运维:使用Ansible简化日常任务
在快节奏的IT世界中,时间就是一切。本文将揭示如何通过Ansible这一强大的自动化工具来节省宝贵的时间,从而提高效率和减少人为错误。我们将深入探讨Ansible的核心概念、安装过程以及如何编写简单的playbook来自动执行常见运维任务。无论你是新手还是有经验的系统管理员,这篇文章都将为你提供实用的知识和技能,让你能够更好地控制你的服务器环境。
|
1月前
|
运维 监控 网络安全
自动化运维的崛起:如何利用Python脚本简化日常任务
【10月更文挑战第43天】在数字化时代的浪潮中,运维工作已从繁琐的手工操作转变为高效的自动化流程。本文将引导您了解如何运用Python编写脚本,以实现日常运维任务的自动化,从而提升工作效率和准确性。我们将通过一个实际案例,展示如何使用Python来自动部署应用、监控服务器状态并生成报告。文章不仅适合运维新手入门,也能为有经验的运维工程师提供新的视角和灵感。
|
1月前
|
运维 监控 Python
自动化运维:使用Python脚本简化日常任务
【10月更文挑战第36天】在数字化时代,运维工作的效率和准确性成为企业竞争力的关键。本文将介绍如何通过编写Python脚本来自动化日常的运维任务,不仅提高工作效率,还能降低人为错误的风险。从基础的文件操作到进阶的网络管理,我们将一步步展示Python在自动化运维中的应用,并分享实用的代码示例,帮助读者快速掌握自动化运维的核心技能。
82 3
|
1月前
|
运维 监控 Linux
自动化运维:如何利用Python脚本优化日常任务##
【10月更文挑战第29天】在现代IT运维中,自动化已成为提升效率、减少人为错误的关键技术。本文将介绍如何通过Python脚本来简化和自动化日常的运维任务,从而让运维人员能够专注于更高层次的工作。从备份管理到系统监控,再到日志分析,我们将一步步展示如何编写实用的Python脚本来处理这些任务。 ##
|
2月前
|
运维 监控 网络安全
自动化运维的魔法:如何用Python简化日常任务
【10月更文挑战第9天】在数字时代的浪潮中,运维人员面临着日益增长的挑战。本文将揭示如何通过Python脚本实现自动化运维,从而提高效率、减少错误,并让运维工作变得更具创造性。我们将探索一些实用的代码示例,这些示例将展示如何自动化处理文件、监控系统性能以及管理服务器配置等常见运维任务。准备好让你的运维工作升级换代了吗?让我们开始吧!
|
2月前
|
运维 应用服务中间件 数据库
自动化运维:使用Ansible简化日常任务
【10月更文挑战第2天】在快速迭代的软件开发周期中,运维工作往往变得重复而繁琐。本文将介绍如何使用Ansible这一强大的自动化工具来简化日常任务,从而提升效率并减少人为错误。从基础配置到复杂部署,我们将一步步展示如何通过编写简单的Playbook来实现自动化管理。
82 3
|
2月前
|
存储 运维 监控
自动化运维:使用Shell脚本简化日常任务
【9月更文挑战第35天】在IT运维的日常工作中,重复性的任务往往消耗大量的时间。本文将介绍如何通过编写简单的Shell脚本来自动化这些日常任务,从而提升效率。我们将一起探索Shell脚本的基础语法,并通过实际案例展示如何应用这些知识来创建有用的自动化工具。无论你是新手还是有一定经验的运维人员,这篇文章都会为你提供新的视角和技巧,让你的工作更加轻松。
76 2
|
3月前
|
运维 Ubuntu 应用服务中间件
自动化运维:使用Ansible进行配置管理和任务自动化
【9月更文挑战第27天】在现代IT基础设施中,自动化运维是提高效率、减少人为错误和确保系统一致性的关键。本文将介绍如何使用Ansible,一个流行的开源IT自动化工具,来简化日常的运维任务。我们将探索Ansible的核心概念,包括它的架构、如何安装和使用它,以及一些实际的使用案例。无论你是新手还是有经验的运维专家,这篇文章都会提供有价值的见解和技巧,以帮助你更好地利用Ansible实现自动化。
|
3月前
|
运维 监控 Python
自动化运维:使用Python脚本简化日常任务
【9月更文挑战第23天】在本文中,我们将探索如何通过编写Python脚本来自动化常见的系统管理任务,从而提升效率并减少人为错误。文章将介绍基础的Python编程概念、实用的库函数,以及如何将这些知识应用于创建有用的自动化工具。无论你是新手还是有经验的系统管理员,这篇文章都将为你提供有价值的见解和技巧,帮助你在日常工作中实现自动化。
下一篇
DataWorks