Webgame自动化测试之旅
作者:网络转载 发布时间:[ 2012/11/2 10:30:10 ] 推荐标签:
近两个项目中游荡,首次接触facebook游戏的测试,感触还是很多的。与之前的web2.0的互联网应用相比,webgame的测试更多样,也更加的复杂。留下点Memory,对Webgame进行自动化测试是挑战新的开始。 根据游戏整体架构的不同,在协议测试方面还是可以有很大的发展余地的。比较流行的facebook游戏进行自动化测试的还是比较多的,不过由于游戏UI方面的修改比较的多,所以在一开始选取好的测试方法是很重要的。
在游戏测试中用的比较多的是类似于按键精灵的这样的方式hook,利用windows api进行屏幕点的操作,以下是比较简单的实现,是通过autoit3对游戏FARMVILLE进行的操作,点击这里下载。
自动化的实现主要是将FARM中的田地size化,通过在1280x800的屏幕中,进行模拟对屏幕点的操作。实际效果还是很棒的,测试时遇到修改的情况的话可以通过修改excel中FARM的田地参数进行修改。可以使用更多的API进行定时,定点的收割。
以上提到的是使用windows api半hook的方式进行的自动化测试。
我们还可以通过真实的tcp,http或者https的协议来进行相关的自动化测试。
主要看在facebook中的游戏整体架构,使用flash前台通过json或者amf协议进行协议发送的话可以利用python的pyamf或者 perl的amf3解析包解析后进行协议层的自动化测试,这样可以减轻前段UI测试的压力,一般游戏的UI测试用例非常的多,很多涉及购买等操作的可以利 用协议自动化测试进行。
flash的自动化测试可以分为UI层面的测试及协议层面的测试。
flash的UI层面的测试:
UI层面的测试建议在基本UI及核心玩法已经确定的情况下运用,这样比较有实效性,返工率比较低。
主要实现的手法之前的Jason已经介绍过了,windows hook技术及Browsers本身的特性。
关于Browers本身的特性,这里需要提下iMacros这个在FF中的插件,iMacros插件版不支持flash的自动化,pro版可以通过代码实现很多的逻辑性操作。
Pro版实现flash自动化的效果也可分为屏幕定位及元素定位的方法,在整体实现上还是很有效果的。
flash的协议层面测试:
协议层面的测试做自动化测试的效果比较好,使用性比较高。主要的做法为,通过各种编程手段及辅助工具(http watch或者charles)来共同实现。
简单介绍下python下的framework:
首先需要python的pyamf包,可以通过这里来安装。
之后我们需要Mechanize包,这是发送http及https包比较easy的类。
通过已有的python test framework框架将测试用例变量化,后输出报告格式化,这样整体的测试框架出来了。
做协议测试的另一个方面是验证UI无法放松的边界值对后台逻辑的影响,很多游戏的失败是因为这个原因。
python的 Pyamf 解析包是对amf协议的解析利器,可以使你轻松的实现类似于对html-text的操作,我们也可以利用Mechanize来进行相应的协议自动化测试。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11