近期,我所在的手游项目要开展自动化测试框架的搭建工作,虽然以前做过一些端游的自动化测试工作,但手游的自动化还没有接触过,但心想应该会有一些共同之处。于是把以前端游的自动化代码review了下,并咨询了其他几个手游项目组的同事,站在巨人的肩旁上,大致确定了自己所在项目的自动化测试框架。在本文中,我将简单抽象的说明下游戏自动化测试的基本流程和原理。
首先我们将游戏简单的分为客户端和服务端,下面开始介绍游戏自动化测试的基本流程和原理。
第一步:
从Client发一个RPC到Server,告诉Server,我要开始自动化测试了,并把自己的客户端Id传给Server,然后Client可以什么都不用管了,静静等待Server的安排。
ps,这里需要有2个知识储备。
1.客户端Id。可以简单的理解为,Server和Client通讯的凭证,因为Server一般是一个,而链接Server的Client有很多,Server怎么知道和哪个Client通信呢,就是靠这个客户端Id。
2.RPC。这个不是本文讨论的重点,网上资料较多,可以自行查找。
第二步:
服务端收到请求后,加载自动化测试代码。
如果自动化测试代码是在客户端层面实现的,那么Server先将这些自动化测试代码按需传递给Client,由Client加载并执行。
如果自动化测试代码是在服务端层面实现的,那么Sever就不需要将这些测试代码转发 到Client,直接按需执行就可以了。
那么问题来了,自动化测试代码在客户端层面实现好呢?还是在服