Dubbo接口测试的Python实践-第2 章:使用Telnet测试

作者:夏晖

就职于甜橙金融质量监控中心。

专注测试领域6年,致力于自动化测试开发以提高测试效率保证产品质量。

“6年小测试。”

——夏晖

前言

Python语言实现对Dubbo接口的调用与测试,原理基于Dubbo官方文档中给出的一套通过telnet命令行的方式去调试Dubbo接口,测试Dubbo接口功能是否正确的方法。

核心测试源码(dubbo_core)

核心测试源码(dubbo_core)如下:

使用步骤:

实例化Dubbo对象,传入host地址及port口

使用对象invoke方法吗,传入服务名称、方法名及传入json

如若没有后续操作,使用对象diss_connect方法断开连接

返回:

结果为一个长度为2的tuple

第一部分为Dubbo接口的json返回

第二部分为这次接口调用耗时。

单接口调用示例:

调用dubbo核心测试类,将测试的ip端口和service.method传入即可测试,注意断开dubbo连结.

1

接口联调

测试时很多接口需要关联使用,组成测试链路,上一个接口返回值里某些数据作为下一个接口的入参:

步骤:

建立Dubbo连接

调用接口1,提取输出组成下个接口的入参

调用接口2

断开连接

【如若链路中还有更多接口,那么重复第二部操作就可以了,python处理json还是很方便的】

2

对json断言

对于测试来说,我们需要判断测试的结果是否符合我们预期,加上断言来实现,断言至少要有以下几种:“期望值”及“预期值”。

当“期望值”及“预期值”匹配则测试是通过。

考虑到json验证点的复杂性,“期望值”的关系有以下几种关系(==,!=,>,>=,

“期望值”设计规则如下:

1. 期望值通过jsonpath的方式指定jsonpath的值及其期望的判断方式。

格式如下: jsonpath|action|value

2. 如若有多条验证点,那么使用&&符号进行验证点拆分。

三个验证点格式如下: jsonpath1|action1|value1 && jsonpath2|action2|value2 && jsonpath3|action3|value3

3. Action包含:in/contains/==/!=/>/>=/

示例:

写在最后

今天的分享就到这里,下次再会。有兴趣的同学一起讨论学习吧。

翼支付质量平台 © 2018

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180816G15KWG00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券