51Testing软件测试论坛

标题: Python之测试webservice接口 [打印本页]

作者: 小文0111    时间: 2019-3-19 16:06
标题: Python之测试webservice接口
本帖最后由 小文0111 于 2019-3-19 16:08 编辑

一、准备环境

A:在线安装

  webservice接口测试,需要用到suds库,网上百度的各种suds库都没法安装,我这里的Python3.5版本,所以安装不了那些suds库也没有办法在线安装,所以这里就提供一个大家都可用的方法和suds库。

1)下载suds库,文件名为: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)如果提示 ModuleNotFoundError: No module named 'version',需要更新一下suds-jurko

        执行pip install --upgrade suds-jurko

B:在线安装

1)pip install suds

2)pip install suds-jurko

一切准备就绪,可以开始测试啦!


二、使用suds库来测试webservice接口

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

  1. from suds.client import Client
复制代码

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

  1. user_url="http://120.24.235.105:8080/finance-user_info-war-1.0/ws/financeUserInfoFacade.ws?wsdl" #这里是你的webservice访问地址
  2. client=Client(user_url)#Client里面直接放访问的URL,可以生成一个webservice对象
复制代码

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

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

[attach]123040[/attach]

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

[attach]123041[/attach]

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


5)如何传递参数值:

  1. t={"channel_id":2,"ip":"129.45.6.7","mobile":mobile ,"pwd":"123456","user_id" :"shabicu8","verify_code":”123456”}#用字典的方式传值
复制代码

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

  1. result=client.service.userRegister(t)
  2. #client这个对象 ,调用service这个方法,然后再调用userRegister这个接口函数,函数里面传递刚刚我们准备
  3. #好的得参数字典 t
  4. print(result)#打印返回结果
复制代码

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

[attach]123042[/attach]

其实测试webservice接口有很多种,但是我写出的这个,相对而言会比较的简单好理解。



作者: 海海豚    时间: 2019-3-20 11:26
谢谢分享




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2