• 用Robot Framework+python来测试基于socket通讯的C/S系统(网络游戏)


     

     

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

    image

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

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

    image

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

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

    image

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

    image

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

    image

    image

    image

  • 相关阅读:
    非确定的自动机NFA确定化为DFA
    正规式到正规文法与自动机
    3.K均值算法
    2.机器学习相关数学基础
    1. 机器学习概述
    作业十四
    作业十二
    作业十一
    作业十
    作业九
  • 原文地址:https://www.cnblogs.com/ckat/p/3643615.html
Copyright © 2020-2023  润新知