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的ORM框架SQLAlchemy入门教程
Apr 28 Python
qpython3 读取安卓lastpass Cookies
Jun 19 Python
Python常见工厂函数用法示例
Mar 21 Python
利用Python实现在同一网络中的本地文件共享方法
Jun 04 Python
浅谈Python在pycharm中的调试(debug)
Nov 29 Python
Win10下Python3.7.3安装教程图解
Jul 08 Python
Django 自定义分页器的实现代码
Nov 24 Python
pytorch实现保证每次运行使用的随机数都相同
Feb 20 Python
解决json中ensure_ascii=False的问题
Apr 03 Python
基于django 的orm中非主键自增的实现方式
May 18 Python
selenium自动化测试入门实战
Dec 21 Python
Ubuntu20下的Django安装的方法步骤
Jan 24 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
外媒评选出10支2020年最受欢迎的Dota2战队
2021/03/05 DOTA
基于pear auth实现登录验证
2010/02/26 PHP
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
2012/08/08 PHP
Windows下的PHP安装文件线程安全和非线程安全的区别
2014/04/23 PHP
Javascript Global对象
2009/08/13 Javascript
ASP中进行HTML数据及JS数据编码函数
2009/11/11 Javascript
jQuery入门第一课 jQuery选择符
2010/03/14 Javascript
Javascript中克隆一个数组的实现代码
2013/12/06 Javascript
js加入收藏夹代码(兼容ie/ff/op)
2014/05/16 Javascript
教你如何使用node.js制作代理服务器
2014/11/26 Javascript
jquery中JSON的解析方式
2015/03/16 Javascript
基于JS2Image实现圣诞树代码
2015/12/24 Javascript
深入浅析search 搜索框的写法
2016/08/02 Javascript
JS仿京东移动端手指拨动切换轮播图效果
2020/04/10 Javascript
VueJs组件之父子通讯的方式
2018/05/06 Javascript
webpack3里使用uglifyjs压缩js时打包报错的解决
2018/12/13 Javascript
vue实现动态给id赋值,点击事件获取当前点击的元素的id操作
2020/11/09 Javascript
微信小程序实现登录注册功能
2020/12/29 Javascript
[04:44]DOTA2 2017全国高校联赛视频回顾
2017/08/21 DOTA
Python网络爬虫项目:内容提取器的定义
2016/10/25 Python
利用Python如何批量修改数据库执行Sql文件
2018/07/29 Python
python求一个字符串的所有排列的实现方法
2020/02/04 Python
Python基于yaml文件配置logging日志过程解析
2020/06/23 Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
2020/07/03 Python
Paradigit比利时电脑卖场:购买笔记本、电脑、平板和外围设备
2016/11/28 全球购物
责任胜于能力演讲稿
2014/05/20 职场文书
党委班子剖析材料
2014/08/21 职场文书
工伤事故证明
2014/10/20 职场文书
湖南省召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
学年个人总结范文
2015/03/05 职场文书
孔繁森观后感
2015/06/10 职场文书
用position:sticky完美解决小程序吸顶问题的实现方法
2021/04/24 HTML / CSS
浅谈Python中的正则表达式
2021/06/28 Python
python全面解析接口返回数据
2022/02/12 Python
javascript的var与let,const之间的区别详解
2022/02/18 Javascript
详解Python flask的前后端交互
2022/03/31 Python