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 相关文章推荐
解析Mac OS下部署Pyhton的Django框架项目的过程
May 03 Python
Java分治归并排序算法实例详解
Dec 12 Python
django admin添加数据自动记录user到表中的实现方法
Jan 05 Python
python机器学习理论与实战(一)K近邻法
Jan 28 Python
python 输出上个月的月末日期实例
Apr 11 Python
儿童python练习实例
May 27 Python
NumPy.npy与pandas DataFrame的实例讲解
Jul 09 Python
Python简单读写Xls格式文档的方法示例
Aug 17 Python
python字符串替换第一个字符串的方法
Jun 26 Python
简单了解django缓存方式及配置
Jul 19 Python
opencv python Canny边缘提取实现过程解析
Feb 03 Python
python使用smtplib模块发送邮件
Dec 17 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中通过数组进行高效随机抽取指定条记录的算法
2013/09/09 PHP
PHP实现会员账号单唯一登录的方法分析
2019/03/07 PHP
jWiard 基于JQuery的强大的向导控件介绍
2011/10/28 Javascript
JS匀速运动演示示例代码
2013/11/26 Javascript
网站基于flash实现的Banner图切换效果代码
2014/10/14 Javascript
node.js操作mongoDB数据库示例分享
2014/11/26 Javascript
Node.js事件循环(Event Loop)和线程池详解
2015/01/28 Javascript
JavaScript中利用各种循环进行遍历的方式总结
2015/11/10 Javascript
Bootstrap导航条鼠标悬停下拉菜单
2017/01/04 Javascript
JavaScript实现动态增删表格的方法
2017/03/09 Javascript
完美解决UI-Grid表格元素中多个空格显示为一个空格的问题
2017/04/25 Javascript
vue组件父与子通信详解(一)
2017/11/07 Javascript
微信小程序使用radio显示单选项功能【附源码下载】
2017/12/11 Javascript
前后端如何实现登录token拦截校验详解
2018/09/03 Javascript
用js简单提供增删改查接口
2019/05/12 Javascript
vue ssr服务端渲染(小白解惑)
2019/11/10 Javascript
JS highcharts实现动态曲线代码示例
2020/10/16 Javascript
javascript实现随机抽奖功能
2020/12/30 Javascript
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
2021/01/29 jQuery
Python使用Supervisor来管理进程的方法
2015/05/28 Python
Python连接PostgreSQL数据库的方法
2016/11/28 Python
Python基于回溯法子集树模板解决找零问题示例
2017/09/11 Python
Python3解决棋盘覆盖问题的方法示例
2017/12/07 Python
Python3爬虫使用Fidder实现APP爬取示例
2018/11/27 Python
使用Python快速制作可视化报表的方法
2019/02/03 Python
基于Python新建用户并产生随机密码过程解析
2019/10/08 Python
CSS3+HTML5+JS 实现一个块的收缩与展开动画效果
2020/11/17 HTML / CSS
赫里福德的一家乡村零售商店:Philip Morris & Son
2017/06/25 全球购物
Exoticca英国:以最优惠的价格提供豪华异国情调旅行
2018/10/18 全球购物
介绍一下EJB的分类及其各自的功能及应用
2016/08/23 面试题
项目投资意向书
2014/04/01 职场文书
工作批评与自我批评范文
2014/10/16 职场文书
幼儿园亲子活动通知
2015/04/24 职场文书
阳光体育运动标语口号
2015/12/26 职场文书
浅谈Python列表嵌套字典转化的问题
2021/04/07 Python
忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤
2022/04/07 Servers