本人测试岗位,在项目不是很忙的时候,还是想写一个可以自动跑的游戏脚本。挂着游戏能够代替一些手动的测试,并且闲时晚上下班的时候挂着手机,第二天再来看报告日志,算是物尽其用了。前期脚本基础功能是要在编辑器上调试,后期会连接手机进行调试,与电脑上调试区别不大,主要是一些坐标的调整或者图标分辨不准确的区别处理,写文记录并分享下思路流程。
需求:全自动进行游戏(自己想的)
一、分解项目功能
第一步大概区分下游戏中的功能模块,但是有一些模块中的子模块也很复杂,如联盟功能,里面还有一些活动或者玩法比较复杂的小功能在里面,后面再详细区分,先把大概的模块框架确定下来。
(方法和内容可以慢慢补充)
分好类了,可以创建AirTest的项目了
1.创建项目根目录
2.再创建按上面类区分出来的目录
3.最后项目层级
二、模拟下自动游戏的操作流程
大概模拟下需要操作的动作和流程
三、脚本编写
在脚本编写前,需要模拟下新手引导的操作流程,比如判断那个图片存在时,需要点击某个位置,或者在播放动画时,需要等待几秒钟。其实新手指引很简单和单一的操作,就是出来一个步骤,点击一下,等待下一个步骤出来后,再进行点击一下。实现的话包括一些后面可能用的基础方法,提前封装一下,目前功能比较单一,后续会考虑在弱网或者断开网络的情况下增加突发的响应功能。
AirTestForSLG类用来控制整体的方法实现,主调用类
AirTestForSLG.py
# -*- encoding=utf8 -*-
__author__ = "GH"
from airtest.core.api import *
from airtest.cli.parser import cli_setup
if not cli_setup():
auto_setup(__file__, logdir=True, devices=["Windows:///722224",], project_root="E:/AirTestForSLG")
import sys
#路径字符
path1 = 'E:\\AirTestForSLG\\AndroidConsoleSys.air'
path2 = 'E:\\AirTestForSLG\\BasicsConsoleSys.air'
path3 = 'E:\\AirTestForSLG\\NoviceGuideSys.air'
path4 = 'E:\\AirTestForSLG\\HeroSys.air'
path5 = 'E:\\AirTestForSLG\\BagSys.air'
path6 = 'E:\\AirTestForSLG\\MailSys.air'
path7 = 'E:\\AirTestForSLG\\LeagueSys.air'
path8 = 'E:\\AirTestForSLG\\ChatSys.air'
path9 = 'E:\\AirTestForSLG\\TaskSys.air'
path10 = 'E:\\AirTestForSLG\\SkillSys.air'
path11 = 'E:\\AirTestForSLG\\InformationSys.air'
path12 = 'E:\\AirTestForSLG\\ActivitySys.air'
path13 = 'E:\\AirTestForSLG\\GiftSys.air'
path14 = 'E:\\AirTestForSLG\\BuildingSys.air'
path15 = 'E:\\AirTestForSLG\\WorldMapSys.air'
#同根路径
sys.path.append(path1)
sys.path.append(path2)
sys.path.append(path3)
sys.path.append(path4)
sys.path.append(path5)
sys.path.append(path6)
sys.path.append(path7)
sys.path.append(path8)
sys.path.append(path9)
sys.path.append(path10)
sys.path.append(path11)
sys.path.append(path12)
sys.path.append(path13)
sys.path.append(path14)
sys.path.append(path15)
#py文件名字
import AndroidConsoleSys
import