作者:夏晖
就职于甜橙金融质量监控中心。
专注测试领域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
领取专属 10元无门槛券
私享最新 技术干货