基于Unity的层级查找的自动化测试方法、装置及介质与流程

文档序号:24872761发布日期:2021-04-30 12:45阅读:186来源:国知局
基于Unity的层级查找的自动化测试方法、装置及介质与流程

本发明涉及计算机领域,具体涉及了一种基于unity的层级查找的自动化测试方法、装置及介质。



背景技术:

随着游戏的复杂程度不断增大,游戏的测试也变得越来越难,在传统的人工的游戏测试中,容易出现测试的精准度差,人力成本高,时间成本高等问题,如果在测试的过程的成本变得如此高,那游戏优化阶段会变得举步维艰。

而自动化测试能在一定程度上解决人工测试产生的各种问题,大幅节省了人力成本和时间成本。传统的游戏自动化测试方案有以下几种:

1、基于固定坐标的模拟操作;

2、基于图像识别的模拟操作;

而这两种自动化测试方案都有明显的缺点如:

1、在基于固定坐标的模拟操作中灵活性极低,只能完成一些简单的测试案例;

2、在基于图像识别的模拟操作中容易出现识别不精准。



技术实现要素:

本发明的目的在于至少解决现有技术中存在的技术问题之一,提供了一种基于unity的层级查找的自动化测试方法、装置及介质,少测试开发人员编写自动化案例的时间成本。

本发明的技术方案包括一种基于unity的层级查找的自动化测试方法,其特征在于,该方法包括:s100,在游戏项目文件中添加用于检测游戏数据的脚本,并以脚本作为服务端;s200,启动游戏程序,通过脚本建立与客户端的连接;s300,通过客户端向脚本发送若干调试指令,脚本根据调试指令对游戏指令进行录制;s400,通过客户端接收脚本采集的游戏指令,并进行逻辑处理,以及,生成并执行自动化测试方案。

根据所述的基于unity的层级查找的自动化测试方法,其中脚本包括若干用于自动化测试的接口,其中接口包括但不限于查询节点、点击物体、获取文本及设置文本。

根据所述的基于unity的层级查找的自动化测试方法,其中客户端为python客户端,python客户端通过tcp与脚本进行通信连接。

根据所述的基于unity的层级查找的自动化测试方法,其中s300包括:当游戏接收到客户端调试命令后,通过接口对游戏ui进行的操作都会录制下来,并由python客户端接收并翻译成为python代码指令,通过python客户端执行python代码指令。

根据所述的基于unity的层级查找的自动化测试方法,其中s300包括:根据接口的监听,实时将游戏程序中的点击、滑动及输入文本操作进行采集并序列化,发送至python客户端,python客户端将序列化的操作指令进行反序列化处理,生成python代码指令。

根据所述的基于unity的层级查找的自动化测试方法,其中s400包括:通过python客户端对python代码指令进行逻辑处理及自定义编辑,自动生成自动化测试案例,执行自动化测试案例并收集自动化测试案例的结果,显示于交互界面。

本发明的技术方案还包括一种基于unity的层级查找的自动化测试装置,该装置包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现任一所述的方法步骤。

本发明的技术方案还包括一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如任一所述的方法步骤。

本发明的有益效果为:解决了传统游戏自动化测试中出现的大部分弊端,灵活性,精准度更高,同时支持通过录制生成自动化测试脚本,大幅减少测试开发人员编写自动化案例的时间成本。

附图说明

下面结合附图和实施例对本发明进一步地说明;

图1所示为根据本发明实施方式的总体流程图;

图2a,2b,2c,2d,2e所示为根据本发明实施方式的自动化测试方法;

图3所示为根据本发明实施方式的装置图。

具体实施方式

本部分将详细描述本发明的具体实施例,本发明之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本发明的每个技术特征和整体技术方案,但其不能理解为对本发明保护范围的限制。

在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。

在本发明的描述中,对方法步骤的连续标号是为了方便审查和理解,结合本发明的整体技术方案以及各个步骤之间的逻辑关系,调整步骤之间的实施顺序并不会影响本发明技术方案所达到的技术效果。

本发明的描述中,除非另有明确的限定,设置等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。

图1所示为根据本发明实施方式的总体流程图,该流程包括:s100,在游戏项目文件中添加用于检测游戏数据的脚本,并以脚本作为服务端;s200,启动游戏程序,通过脚本建立与客户端的连接;s300,通过客户端向脚本发送若干调试指令,脚本根据调试指令对游戏指令进行录制;s400,通过客户端接收脚本采集的游戏指令,并进行逻辑处理,以及,生成并执行自动化测试方案。

图2所示为根据本发明实施方式的降低手机游戏首包的流程示意图,包括:

(1)导入package包至游戏工程项目里,并挂载初始化脚本。参考图2a,package包为dll库,dll库封装了在自动化测试时候需要使用到的各种接口.常见的接口如查询节点,点击物体,获取/设置文本等。导入本方案的package包到项目中,并在场景中挂载初始化的脚本作为服务端。

(2)运行游戏,启动自动化服务。启动本方案的python客户端进行tcp连接如图2b,并启动本方案的python客户端进行tcp连接,python客户端可以输入相应的指令对游戏进行自动化的操作。

(3)python客户端发送开启调试模式命令,开启成功后即可开始录制操作并生成操作的指令,如图2c所示,当游戏接收到客户端调试命令后,用户对游戏ui(ugui/ngui)进行的操作(点击,设置文本,滑动物体等)都会录制下来,并由python客户端接收并翻译成为python代码指令,执行这些指令便可还原录制的操作,大幅减少自动化案例开发时间。

(4)将由调试模式录制下来的指令进行优化,添加逻辑操作,使其能满足更多复杂的测试情景,如图2d所示,录制下来的指令若需要进行逻辑处理,则需要用户修改里面的指令代码,使得其能变得更灵活,适应真实测试案例的需求,在python端提供各种接口方便用户无需打开游戏项目即可进行游戏自动化案例的开发。

(5)python客户端执行自动化案例,使得游戏端能接受对应的自动化指令并进行操作,如图2e。自动化案例开发完毕后,即可开启自动化测试,开启后用户可以使用本方案的截图接口,将每一步的操作截取下来,验证自动化操作的结果正确与否,而无需时刻看着游戏。

图3所示为根据本发明实施方式的装置图。装置包括存储器100及处理器200,其中处理器200存储有计算机程序,计算机程序用于执行:在游戏项目文件中添加用于检测游戏数据的脚本,并以脚本作为服务端;启动游戏程序,通过脚本建立与客户端的连接;通过客户端向脚本发送若干调试指令,脚本根据调试指令对游戏指令进行录制;通过客户端接收脚本采集的游戏指令,并进行逻辑处理,以及,生成并执行自动化测试方案。其中,存储器100用于存储数据。

上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1