python3 利用suds-jurko测试webservice接口

 一、准备环境

  webservice接口测试,需要用到suds库,网上百度的各种suds库都没法安装,Python3.6版本,需要用到suds-jurko,因为suds支持python2

1)下载suds库,地址:http://pypi.python.org/packages/source/s/suds-jurko/suds-jurko-0.4.1.jurko.4.zip#md5=769689edca81c34c0421a4145b08c264,文件名为:suds-jurko-0.4.1.jurko.4.zip

2)解压压缩包,放到Python安装路径下的scripts文件夹下面。

3)然后在cmd命令行中,进入到suds-jurko-0.4.1.jurko.4文件下面,输入命令: python setup.py install

4)安装完毕

5)注意:如果在py中写代码 import suds报错,就要把suds-jurko-0.4.1.jurko.4文件夹下面的dist、suds以及suds_jurko.egg-info这三个文件夹,拷贝到Lib 下面的site-packages路径下面,就可以正常访问了。

6)再fromsuds.clientimportClient,提示 ImportError:No module named version

    整了很久,最后pip install --upgrade suds-jurko 成功,再运行脚本,则ok


二、使用suds库来测试webservice接口 (借他人的图)

1)引入suds库,代码如下:

 

1
from  suds.client  import  Client
import json

 

 

2)创建一个webservice对象,来调用webservice里面的各类接口

1
2
api_url = 'http://cmdp-query.intsit.xxx.com.cn:1080/ws/saspClaims?wsdl' #这里是你的webservice访问地址
client = Client(api_url) #Client里面直接放访问的URL,可以生成一个webservice对象

 

3)打印出这个wsdl地址里面的所有接口信息:

1
print (client) #打印所webservice里面的所有接口方法名称,结果如下截图所示:

 




4)利用soapui来看看webservice某个接口的组成和参数,其中一个注册接口,如下所示:

一共有2个参数,如果要在Python里面来传递这种参数,如何组装拼接,接着往下看。

 


【公司网络限制原因,截图没法上传显示出来】

5)如何传递参数值:

1
 
#用字典的方式传值
params_dict = {"billingCode":"2","sysCode":"111"}
# params_dict = dict(billingCode = '222', sysCode='1')
 
  

6)如何在Python中调用注册这个接口服务:

1
2
3
4
#findClaimsInfoList 被测服务的接口
result = client.service.findClaimsInfoList(**params_dict)

#打印返回结果
print(result)
print ("status:%s" % json.loads(result).get("status"))

 

7)最后的返回结果打印如下:


 

也是参照他人博客学习整理出的:http://www.cnblogs.com/liulinghua90/p/5823021.html


你可能感兴趣的:(python3 利用suds-jurko测试webservice接口)