美文网首页
用python做webservice接口测试

用python做webservice接口测试

作者: 八月的燕子往南飞 | 来源:发表于2020-03-15 11:07 被阅读0次

    背景:上周我接到一个任务,该测试任务包含一个webservice接口,需要做接口测试,但是我没接触过webservice接口。

    分析:看了接口文档,该接口比较简单,根据自我感觉判断,这个接口测试应该比较简单,我只需要选择好用什么工具去测试,那我的初步想法是要么用jmeter要么就用python直接写。

    决定:最近我有用python写点儿简单的小工具,我也有意锻炼自己的python编程能力;然后网上搜了一下用python做webservice接口测试,发现很简单,几句python代码即可解决,好,那就用python来完成这个接口测试吧。

    结果:可以批量执行用例,有效率,发现了bug,特记录下第一次用python做webservice接口测试的整个过程。

    第一步:安装模块

        需要安装的模块有:client、suds、suds-jurko。我是直接用pip工具安装的。命令如下:(注意:如果安装suds前没有安装client,会报错: No module named 'client')

        pip install client

        pip install suds

        pip install suds-jurko

    第二步:编写程序

        为了测试执行的效率,我考虑的实现过程是:先将所有接口测试数据维护在excel中,然后读取excel数据,拼接成我需要的json串,然后批量执行这些接口数据,最后再将结果回写到excel中,最后直接看excel的结果与预期结果是否一致即可。(设计excel时加了一列,用来手动设置该条用例是否执行,便于回归时执行部分用例)

        1.用pandas读取excel,根据接口参数进行处理excel数据,存储为字典(注:我这里是根据我的项目来做的)

        2.将字典数据转换成json串

        3.请求接口并调用接口方法

        4.解析并回写结果(没有做)

    程序代码如下图,需要注意的是,在接口地址后面一定得加上?wsdl,否则无法调用接口方法,可自己尝试加不加?wsdl的差异:

    代码

    打印的cli结果如下,可以看到该接口下的方法有哪些:

    打印的webservice对象cli

    再附上我的testcases.xlsx的样板,可根据自己需求进行设计;其中【执行】列的内容为是/否,当进行回归测试时不是所有用例都要再执行一遍,直接将这列置为否,只执行为是的用例:

    testcases.xlsx

    相关文章

      网友评论

          本文标题:用python做webservice接口测试

          本文链接:https://www.haomeiwen.com/subject/zhaxehtx.html