前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何编写高效手游自动化测试脚本?

如何编写高效手游自动化测试脚本?

作者头像
WeTest质量开放平台团队
修改2018-10-29 17:56:44
7K0
修改2018-10-29 17:56:44
举报
文章被收录于专栏:WeTest质量开放平台团队的专栏

WeTest基于引擎的自动化测试,能够深入到游戏战斗内部进行适配和性能测试。在实际执行过程中,如何更简单、更高效地编写自动化脚本?本文重点阐述下面3个问题的解决方法:

  • 对于重度游戏,战斗中的操作比较复杂,如何让脚本更有效地比赛?
  • 针对复杂的新手引导,如何简单地写脚本?
  • 面对频繁的版本更新,怎样写脚本更好维护?

一、重度手游战斗场景如何写?

像下面两款手游,角色都是可以四处移动,遇到怪后进行攻击、释放技能。

此类游戏写脚本有两个问题需要解决:一是朝哪个方向移动、而不是原地打转;二是何时攻击。

对于加入WeTest SDK后的游戏包,脚本能够查找、和识别游戏中的所有元素对象。无论是cocos2dx游戏还是Unity3D游戏都能由path、或name对元素对象进行唯一标识。所以:

第一步:将战斗中关键元素对象的唯一标识(path、name)用录制工具获取。例如,移动按钮、攻击按钮、各种技能按钮、人物角色、怪物、箭头等。

第二步:移动方向确定。一般此类游戏中,大部分时间会有箭头方向指引。先计算人物与引导箭头之间的方向位移,然后将移动按钮按此方向位移进行Move。不存在箭头时,在预先设置好的8个方位中,随机一个方位进行移动。如果存在晋级通道,则直接朝晋级通道移动。虽然具有一定的随机,但整体上能使角色朝我们的目标方向移动。

第三步:何时攻击。当发现怪物时进行攻击。如果没有怪物,当每次移动后,则调用一次攻击的函数。

按此规则进行角色移动和攻击,直到比赛结束、或是超出预设定的比赛时间,则脚本终止比赛。

另外,如果不想写脚本控制角色移动,有一种更为简洁的方法:如果游戏中有自动战斗的按钮,则只需利用GM指令,将角色升级到一定等级后,直接点击自动战斗,则可以完成比赛。可以隔一定时间对游戏进行屏幕截图,查看是否有黑屏、布局、字体等方面的适配问题。

二、新手引导如何写?

一般新手引导的步骤比较多,有些游戏还必须要通关多层之后,新手引导才能结束。按照正常写脚本思路,一步一步写下去,会比较麻烦。在实际操作中,可以按照如下步骤:

第一步:判断是否进入新手引导。一般是判断新手引导的Layer层是否存在。

第二步:新手引导中的操作。如果存在指引小手、tips、悬浮框、确定取消之类的按钮,则点击。

第三步:新手引导结束判断。如果走到了新手引导的特定结束步骤、或是Layer层、或是超过预设定的新手引导时间,则新手引导脚本结束。

如此一来,可以通过简短的语句实现整个新手引导,而避免繁琐的逻辑过程。

三、怎样写脚本才能在多个版本之间通用?

如果写脚本时是按照游戏界面点击的顺序,则当版本更新,界面发生较大变化、点击顺序更改时,脚本的维护将会花费较大的人力。为了使脚本更通用些,可以采用遍历测试的思路:

第一步:构造行为树xml。将登录完成后,游戏主流程需要遍历的结点用xml保存,也就是一棵行为树。每个节点就是需要点击的元素对象,例如按钮、tips等等,每个元素对象用name、或path唯一标识。节点与节点之间的层次关系,就是按钮需要点击的顺序。

第二步:脚本如何实现遍历。在xml中,树上每一条路径都是关键路径。每当一个叶子结点被遍历到时,将其删除(包含父辈结点)同时进行一次20秒的随机测试。再返回到主界面,重新从树的根结点开始,进行深度遍历,即去访问一个叶子结点。直到行为树只剩一个根结点,则遍历测试结束。并且在某些特定层时,可以加入些特殊的操作,比如上下滑动、左右滑动、到比赛界面后执行战斗函数等。

第三步:版本更新后,脚本无需修改,就能运行。即使有些控件找不到,但也不影响脚本进行测试。如果想提高遍历的有效率,也只需修改xml文件,调整路径等。无需修改脚本。

对于刚开始接触写脚本时,可以将主要的测试场景写成测试case,例如普通战斗场景、1V1比赛、5V5比赛等,然后通过平台进行测试,查看测试成果。后续可逐步根据游戏特色、和深度需要编写有特色的遍历脚本。

登录WeTest腾讯质量开放平台,开始游戏自动化测试征程吧!http://wetest.qq.com/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-03-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯WeTest 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
测试服务
测试服务 WeTest 包括标准兼容测试、专家兼容测试、手游安全测试、远程调试等多款产品,服务于海量腾讯精品游戏,涵盖兼容测试、压力测试、性能测试、安全测试、远程调试等多个方向,立体化安全防护体系,保卫您的信息安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档