说到游戏的自动化测试,很多人脑海中第一个浮现出来的词语,我想是UI自动化和接口自动化这两个的其中之一吧。
  自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。
  除了UI和接口自动化测试,我们也可以将测试工作中的重复性内容,编写成脚本或工具,可以反复使用,提升工作的效率。
  来聊一聊测试辅助工具的开发吧。
  懒人思维
  首次,要做一个“懒测试”。对于工作中的重复性内容,不能一味地允许自己重复再重复,我们需要解放自己的双手,更高效地完成工作任务。
  通过分析重复性工作是否可以形成规律性的步骤,开始编写测试工具脚本,首先网上搜索是否已经有靠谱的解决方案(毕竟重复造轮子也是对时间的消耗),如果有,直接用即可,如果没有,那自己造轮子呗。
  对测试脚本的公共功能抽取出来,封装后加入到公共测试库里边,方便之后的复用。
  编程语言的选择
  其实主流语言都是不错的选择,用自己熟悉的语言即可。
  权衡之下,我选择了Python,主要原因有以下几点:
  · 容易上手,在测试人员之间更容易推广。
  · 强悍的标准库和海量的第三方库,想到的实现方式往往已经有成熟的轮子了。
  · 和编译型语言相比,相同的功能少写好多代码,开发效率高。
  · Python作为一门出色的胶水语言,可以和C#,java联合使用。
  实践起来
  举几个例子吧。
  查看内网发版时间
  有时候问开发,近一次内网服务端发版是什么时候?开发回答:有点忘记了。。
  那得自力更生了~
  原始方式:使用FTP软件连入内网服务器,查看文件的更新日期,从而知道发版时间。
  懒人方式:那写个脚本吧。
  sftp = SFTPClient(host="192.168.1.10", port=22, user="root", pwd="XXXXXX")
  print "内网发版时间是:{}".format(sftp.get_file_update_time(path='/data/www/sg/sg_dev/socket/conf/config/treasure'))
  sftp.close()
  SFTPClient
  批量更新SVN目录
  有2个常用的SVN目录,一个策划文档目录,一个配置表目录,每天来到公司,都需要,先Revert,再Update。
  懒人方式:几行代码实现批量操作。
#! /usr/bin/env python
# -*- coding: UTF-8 -*-
from __future__ import unicode_literals
import subprocess
subprocess.Popen(r'TortoiseProc.exe /command:revert /path:"E:策划文档" /closeonend:0'.encode('gb2312'))
subprocess.Popen(r'TortoiseProc.exe /command:revert /path:"E:配置文档" /closeonend:0'.encode('gb2312'))
subprocess.Popen(r'TortoiseProc.exe /command:update /path:"E:策划文档" /closeonend:0'.encode('gb2312'))
subprocess.Popen(r'TortoiseProc.exe /command:update /path:"E:配置文档" /closeonend:0'.encode('gb2312'))