项目终于换了方案,改用socket来实现而不是之前的http了,所以测试工具就不能用以前的了,因为测试人手少,逼不得已的必须要挖掘更多的自动化方案来弥补。于是先研究了下python的socket解决方案,最后确定了struct的网络2进制数据读写方法,用python+threading处理后,形成了本地的自动化socket测试方案,该方案的逻辑流程如下图:

实际上,通过配置简单的协议和宏命令组合,就已经可以开始测试了,但为了要和每日集成结合起来,也为了以后的测试数据整合,用例整合更为方便,还是选择将该工具和robotFramework结合起来。

当然结合不是那么简单的拷贝过去,需要针对rf抽取socket工具中的核心模块,这里最关键的就是抽取协议模块、socket模块了,原本就写成了模块化,方便机器人线程调用,所以抽取的时候就很简单了。如下图

从自定义的协议核心模块protocols_struct中,继承tjnetwork过来,重写了关于socket服务器的连接方法,之后就是添加各个协议命令的关键字了,如截图中的test_3方法。

定义了足够的协议方法关键字后,就可以在RF中开始配置测试用例了。如下图,配置足够的环境变量(针对游戏项目必备的登录服务器的ip、端口,逻辑服务器ip、端口)

在测试用例中,将自己的关键字方法添加进去,就组装好了一份简单的登录测试用例,如下图(包含登录,服务器跳转,角色删除、角色建立等)

部分中文关键字的映射如下:

最新文章

  1. ubuntu 搭建开发环境
  2. fork与vfork
  3. VB.NET读取Excel工作表信息
  4. Hadoop概念学习系列之常见的分布式文件系统(二十六)
  5. 《Entity Framework 6 Recipes》中文翻译——第十章EntityFramework存储过程处理(八)
  6. 【Tools】maven安装
  7. WordPress /wp-admin/includes/post.php user_ID 参数操作权限提升漏洞
  8. Lintcode--003(乱序字符串)
  9. pyqt一个小例子
  10. Scala开发环境搭建
  11. 创业不要在IT业内创(市场太小,而且都喜欢自己折腾、没有花钱的习惯)
  12. SecureCRT按退格键出现^H问题解决
  13. 监视锁——Java同步的基本思想
  14. 如何在ASP.NET Core程序启动时运行异步任务(1)
  15. idea Maven项目找不到相关依赖包(红色波浪线)
  16. Android恶意样本数据集汇总
  17. ASP.NET MVC 系统过滤器、自定义过滤器
  18. 解决微云登陆出现wns login error的问题
  19. LC_ALL=C的含义
  20. 2018.08.21 NOIP模拟 unlock(模拟+找规律)

热门文章

  1. 屏蔽指定地区IP访问
  2. AtCoder Beginner Contest 075 C Bridge(割边)
  3. hdu 4419 Colourful Rectangle (离散化扫描线线段树)
  4. laravel使用加载进行优化
  5. 【t079】火星上的加法运算
  6. RBF神经网络的matlab简单实现
  7. Codeforces Round #186 (Div. 2)
  8. 2019-10-24-dotnet-列表-Linq-的-Take-用法
  9. Python--day32--复习:https和http的区别;黏包;黏包问题的解决方式;
  10. 2018-2-13-win10-uwp-获取指定的文件-AQS