Python3 webservice接口测试代码详解


Posted in Python onJune 23, 2020

一、使用python3做webervice接口测试的第三方库选择suds-jurko库,可以直接pip命令直接下载,也可以在pypi官网下载压缩包进行手动安装

二、安装好后,导入Client:from suds.client import Client。发送一条请求

from suds.client import Client
url = 'http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl'
client = Client(url)
# 打印所有webservice接口信息
print(client)

但是会出现错误:

Traceback (most recent call last):
 File "E:/PycharmProjects/lianxiUItestSelenium/***.py", line 53, in <module>
  client = Client('http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl')
 File "E:\PycharmProjects\lianxiUItestSelenium\venv\lib\site-packages\suds\client.py", line 115, in __init__
  self.wsdl = reader.open(url)
 File "E:\PycharmProjects\lianxiUItestSelenium\venv\lib\site-packages\suds\reader.py", line 150, in open
  d = self.fn(url, self.options)
 File "E:\PycharmProjects\lianxiUItestSelenium\venv\lib\site-packages\suds\wsdl.py", line 159, in __init__
  self.build_schema()
 File "E:\PycharmProjects\lianxiUItestSelenium\venv\lib\site-packages\suds\wsdl.py", line 220, in build_schema
  self.schema = container.load(self.options)
 File "E:\PycharmProjects\lianxiUItestSelenium\venv\lib\site-packages\suds\xsd\schema.py", line 94, in load
  child.dereference()
 File "E:\PycharmProjects\lianxiUItestSelenium\venv\lib\site-packages\suds\xsd\schema.py", line 319, in dereference
  midx, deps = x.dependencies()
 File "E:\PycharmProjects\lianxiUItestSelenium\venv\lib\site-packages\suds\xsd\sxbasic.py", line 437, in dependencies
  e = self.__deref()
 File "E:\PycharmProjects\lianxiUItestSelenium\venv\lib\site-packages\suds\xsd\sxbasic.py", line 483, in __deref
  raise TypeNotFound(self.ref)
suds.TypeNotFound: Type not found: '(schema, http://www.w3.org/2001/XMLSchema, )'

三、只需要过滤掉一下地址就可以了。导入ImportDoctor和Import就可以

from suds.client import Client
from suds.xsd.doctor import ImportDoctor, Import

imp = Import('http://www.w3.org/2001/XMLSchema',location='http://www.w3.org/2001/XMLSchema.xsd')
imp.filter.add('http://WebXml.com.cn/')
doctor = ImportDoctor(imp)
client = Client('http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl',doctor=doctor)
print(client)

输出结果:

(WeatherWebServiceSoap)
  Methods (5):
    getSupportCity(xs:string byProvinceName)
    getSupportDataSet()
    getSupportProvince()
    getWeatherbyCityName(xs:string theCityName)
    getWeatherbyCityNamePro(xs:string theCityName, xs:string theUserID)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python发腾讯微博代码分享
Jan 10 Python
解决python2.7用pip安装包时出现错误的问题
Jan 23 Python
Python基于回溯法子集树模板解决最佳作业调度问题示例
Sep 08 Python
python装饰器深入学习
Apr 06 Python
详解Python中的四种队列
May 21 Python
Python 生成 -1~1 之间的随机数矩阵方法
Aug 04 Python
python 拼接文件路径的方法
Oct 23 Python
详解python tkinter模块安装过程
Jan 06 Python
python读取dicom图像示例(SimpleITK和dicom包实现)
Jan 16 Python
TensorFlow实现批量归一化操作的示例
Apr 22 Python
python中def是做什么的
Jun 10 Python
Jupyter Notebook安装及使用方法解析
Nov 12 Python
python和JavaScript哪个容易上手
Jun 23 #Python
pytorch 查看cuda 版本方式
Jun 23 #Python
Spring @Enable模块驱动原理及使用实例
Jun 23 #Python
PyTorch-GPU加速实例
Jun 23 #Python
Python基于yaml文件配置logging日志过程解析
Jun 23 #Python
解决pytorch多GPU训练保存的模型,在单GPU环境下加载出错问题
Jun 23 #Python
Python 程序报错崩溃后如何倒回到崩溃的位置(推荐)
Jun 23 #Python
You might like
PHP实现下载断点续传的方法
2014/11/12 PHP
PHP实现通过get方式识别用户发送邮件的方法
2015/07/16 PHP
利用php输出不同的心形图案
2016/04/22 PHP
php微信开发之百度天气预报
2016/11/18 PHP
Javascript里使用Dom操作Xml
2007/01/22 Javascript
JQuery中getJSON的使用方法
2010/12/13 Javascript
在JavaScript中操作时间之getMonth()方法的使用
2015/06/10 Javascript
Bootstrap导航栏各元素操作方法(表单、按钮、文本)
2015/12/28 Javascript
vue插件tab选项卡使用小结
2016/10/27 Javascript
jquery实现页面加载效果
2017/02/21 Javascript
详解使用Vue Router导航钩子与Vuex来实现后退状态保存
2017/09/11 Javascript
通过jquery获取上传文件名称、类型和大小的实现代码
2018/04/19 jQuery
灵活使用console让js调试更简单的方法步骤
2019/04/23 Javascript
微信小程序 云开发模糊查询实现解析
2019/09/02 Javascript
vuex state中的数组变化监听实例
2019/11/06 Javascript
JS数组方法slice()用法实例分析
2020/01/18 Javascript
JavaScript 中的无穷数(Infinity)详解
2020/02/13 Javascript
BootStrap前端框架使用方法详解
2020/02/26 Javascript
详细分析Node.js 多进程
2020/06/22 Javascript
微信小程序实现时间戳格式转换
2020/07/20 Javascript
VUE子组件向父组件传值详解(含传多值及添加额外参数场景)
2020/09/01 Javascript
[10:42]Team Liquid Vs Newbee
2018/06/07 DOTA
Python多线程编程(一):threading模块综述
2015/04/05 Python
Python进阶之尾递归的用法实例
2018/01/31 Python
Python变量赋值的秘密分享
2018/04/03 Python
python使用turtle库与random库绘制雪花
2018/06/22 Python
Pytorch提取模型特征向量保存至csv的例子
2020/01/03 Python
Python中读取文件名中的数字的实例详解
2020/12/25 Python
Timex手表官网:美国运动休闲手表品牌
2017/01/28 全球购物
全球最大的房车租赁市场:Outdoorsy
2018/09/19 全球购物
高二英语教学反思
2014/01/19 职场文书
优秀护士获奖感言
2014/02/20 职场文书
期末复习计划
2015/01/19 职场文书
如何写观后感
2015/06/19 职场文书
幼儿园秋季开学通知
2015/07/16 职场文书
超级详细实用的pycharm常用快捷键
2021/05/12 Python