python在webservice接口测试中的应用

接口测试第二波,webservice接口来咯,欢迎各位小伙伴吐槽~
本次拿免费的互联网国内手机号码归属地查询WEB服务webservice接口做例子,当然有很多免费webservice接口可以供大家使用,百度一下就有N多,手机号码归属地查询wsdl地址如下:http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl
打开后可以看到有一个getMobileCodeInfo方法,入参是一个电话号码,当然也可以通过python调用来看到,接下来会介绍。使用python的suds模块,这是一个第三方模块,需要安装,如果安装了setuptools或pip,可以直接用easy_install 或pip命令安装,easy_install suds或pip install suds即可,如果没有安装,可以去官网上下载,http://pypi.python.org/pypi/suds,下载后进入suds目录python setup.py install 即可。
由于每个接口方法都是不一样的,入参也不一样,所以没有办法像http rest接口一样写成一个通用类,只能在测试的时候修改接口的方法名和入参了。
首先我们来看一下这个wsdl下都有哪些方法:from suds.client import Client#导入suds.client 模块下的Client类
client = Client()#创建一个wsdl对象
print client#打印这个对象的详细信息打印出来的结果如下:

 Suds ( https://fedorahosted.org/suds/ ) version: 0.4 GA build: R699-20100913
Service ( MobileCodeWS ) tns="http://WebXml.com.cn/"
Prefixes (1)
ns0 = "http://WebXml.com.cn/"
Ports (2):
(MobileCodeWSSoap)
Methods (2):
getDatabaseInfo()
getMobileCodeInfo(xs:string mobileCode, xs:string userID, )
Types (1):
ArrayOfString
(MobileCodeWSSoap12)
Methods (2):
getDatabaseInfo()
getMobileCodeInfo(xs:string mobileCode, xs:string userID, )
Types (1):
ArrayOfString
=================================================

从上面的结果可以看到有两个方法一个是getDatabaseInfo()没有入参,一个是getMobileCodeInfo(),入参是一个字符串,手机号和用户id,免费用户的用户id可以不填,下面就是用来测试的代码了,注释也很详细:

 

 

posted @ 2018-04-07 11:03  会吐泡泡的鱼  阅读(222)  评论(0编辑  收藏  举报