完成WebSocket接口测试以及扩展之前框架的功能——接口测试方法论(17)

发表于:2022-8-26 09:51

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:陈磊    来源:51Testing软件测试网原创

  5.2.3  完成WebSocket接口测试以及扩展之前框架的功能
  Python提供了WebSocket的协议库,因此只要完成客户端调用代码的编写,就可以进行WebSocket接口测试了。代码清单5-4展示了一个WebSocket接口(以http://www.websocket.org/ demos/echo/为例)的调用代码。
代码清单5-4
  上述代码和HTTP接口的有些类似,都先和请求建立连接,之后再发送信息。区别是,WebSocket由于是长连接,因此需要人为地建立和关闭连接,而HTTP不需要进行这种操作。我们要做的就是不断地编写测试脚本,然后抽象出Common类,随着Common类越来越丰富,便可形成私有的测试框架。WebSocket的通用方法也需要放入Common类中。
  在前面封装的Common类的构造函数中,添加一个API类型的参数,以指明操作的是什么协议的接口,参数值http代表HTTP接口,参数值ws代表WebSocket接口。WebSocket是长连接,因此需要在Common类的析构函数中添加用于关闭ws连接的代码以释放WebSocket长连接。根据前面介绍的交互流程,实现代码参见代码清单5-5。
代码清单5-5
  上述脚本是一些超级工具的集合,类似于机器猫的“万能口袋”,大家只需要不断积累就可以了。使用Common类对上述流水账似的脚本进行改造,如代码清单5-6所示。
代码清单5-6
  改造后的代码让我们充分体验到了测试框架的魅力。测试框架能让代码变得更加简洁和易读。在将WebSocket封装到之前的测试框架后,我们便有了一个既支持HTTP又支持WebSocket的接口测试框架。随着不断积累新协议,测试框架会越来越强大,我们的秘密武器库也会不断扩充。测试框架的不断完善,使得接口测试工作越来越简单,测试速度也越来越快。在实现对测试能力的支持后,我们应该回过头继续补充协议的基础知识,因为只有这样我们才能“既知其然,也知其所以然”。
查看接口测试方法论》全部连载章节
版权声明:51Testing软件测试网获得作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号