游戏自动化协议测试工具的开发个人思路

目录

前言

概括

一、场景

二、目录结构

三、目录介绍

四、功能接口CASE运行流程​

 五、数据构造

1、抽卡场景​

2、组队队友/机器人(当懒得开多个真机客户端,或者手上没真机)​

六、用例录制


前言


自己从零到1尝试弄的一款工具,从一开始的第一步,了解封包,会了封包成功发了第一条协议后,再想如何摆放文件,(其中文件命名想了好久,大概是因为经验不不够)如何整理测试结果,到现在最终的成品,用的话是能用,但是总感觉差点什么。
写这文章的时候纠结了好久怎么写才能表达清楚,因为代码不能公开的原因,原本想着写一条用例出来,这样可能更让人明白点,不过最终还是放弃。。。

概括

基于pytest进行用例组织,运行和聚合报告
使用生产者消费者设计模式进行协议收发
gitlab CI实现自动定时触发

使用语言:python3.7+
框架:pytest

一、场景


1、功能接口自动化测试
2、批量、重复性测试数据构造

二、目录结构


|_agent
|_case
--|_XX功能
----|_get_xxdata.py
----|_xx_test.py
----|_conftest.py
--|_XX功能
|_conftest.py
|_command-protocol
|_common
|_dist
|_docs
|_gameconfigs
|_gametools
|_pb2
|_report
|_utils
pytest.ini
run.py
setting.yaml

三、目录介绍


agent: 前后端交互层,新写一条协议时,先在这里写好该协议请求方法
case: 用例存放目录,每个功能新建一个文件夹,其中conftest.py执行用例前的预处理和后处理工作,无须导入,用例函数中传入固件名称即可
command-protocol: proto文件 
common: 协议工具文件
dist: 存放打包好的测试数据工具文件
example: 示例文件,有些不熟悉的函数使用示例
gameconfig: 游戏项目配置,主要是策划配置
gametools: 测试数据构造文件
docs: 项目文档相关
pb2: Protobuff转成的pb文件
report: 运行报告目录(不上传到远端,运行后产生在本地)
utils: 一些辅助脚本,例如导pb,生成结果码文件
pytest.ini: pytest运行设置文件
requirements.txt: 第三方包导入文件
run.py: 运行用例入口文件

四、功能接口CASE运行流程
游戏自动化协议测试工具的开发个人思路_第1张图片

游戏自动化协议测试工具的开发个人思路_第2张图片

 五、数据构造

1、抽卡场景

2、组队队友/机器人
(当懒得开多个真机客户端,或者手上没真机)
游戏自动化协议测试工具的开发个人思路_第3张图片

六、用例录制


非游戏嵌入式的一种做法,粗略讲下自己的想法
用Wireshark捕获网络包,保存Wireshark文件,把Wireshark文件解析成json文件,协议工具再读取json文件,解析成一个个用例步骤。

最后:
文章可能写得不清楚,如果大家有兴趣或者有啥建议的话可以留言

你可能感兴趣的:(游戏测试,python学习,游戏,自动化,测试工具)