Python接口自动化——soap协议传参的类型是ns0类型的要创建工厂方法纪要
1:在Python接口自动化中,对于soap协议的xml的请求我们可以使用Suds Client来实现,其soap协议传参的类型基本上是有2种:
第一种是传参,不需要再创建啥,
第二种就是ns0类型的,如果直接以dict类型传进去的话是,里面的程序是无法将对应的参数一一对应上的,所以我们这边需要创建一个工厂,然后把这些工厂当做参数传入进去。下面就进行一步步解释一下这个步骤
Service ( BssUserManageServiceService ) tns="http://service.bos.webservice.os.ot.fontw.com/"
Prefixes (1)
ns0 = "http://bssUserManage.service.bos.webservice.os.ot.fontw.com/"
Ports (1):
(BssUserManageServicePort)
Methods (2):
createUserApi(ns0:custBeanFh custBean, ns0:userBeanFh userBean, ns0:acctBeanFh acctBean, ns0:orderBeanFhArray orderBeanArray, xs:string sequenceID, )
modifyUserPwdApi(xs:string userID, xs:string pwd, xs:string sequenceID, )
Types (7):
ns0:Exception
ns0:acctBeanFh
ns0:custBeanFh
ns0:orderBeanFh
ns0:orderBeanFhArray
ns0:resultBeanFh
ns0:userBeanFh
2:以第一个createUserApi方法为例:
这个方法的参数类型就是ns0,代码如下:
# 导入suds库
from suds.client import Client
user_url = "http://192.168.0.1:7008/oss/rest/bss?wsdl" # 这里是你的webservice访问地址
client = Client(user_url) # Client里面直接放访问的URL,可以生成一个webservice对象
print(client) # 打印所webservice里面的所有接口方法名称
# 对每个含有 ns0的参数类型进行创建一个工厂
userBean = client.factory.create("ns0:userBeanFh")
userBean_temp = createuserApi ["userBean"]
custBean = client.factory.create("ns0:custBeanFh")
custBean_temp = createuserApi ["custBean"]
orderBeanArray = client.factory.create("ns0:orderBeanFhArray")
orderBeanArray.item = createuserApi ["orderBeanArray"]
# 把对应的参数数据传进你所要调用的方法即可
createuserApi = {
"custBean": {"custID": "custid08", "custName": "custname08", "custTelephone": "88888888"},
"userBean": {"userID": "100000", "userName": "Test", "password": "123456789"},
"sequenceID": 20170831205310
}
# 调用对应的方法
result = client.service.createUserApi(orderBeanArray=orderBeanArray, acctBean=userBean_temp ,
userBean=userBean_temp ,
custBean=custBean_temp , sequenceID=param["sequenceID"])
官方文档参考:https://webkul.com/blog/python-suds-client/
自己之前的操作是没有创建其工厂,就直接传参数进去,导致其一直没有跑通过,最后得已于自己导师的帮助才得以解决,在此非常感谢他。
Python接口自动化——soap协议传参的类型是ns0类型的要创建工厂方法纪要的更多相关文章
- python接口自动化1-http协议简介
前言 知道接口测试的小伙伴都应清楚http协议了,如果你还不清楚,那么接口测试做不好,自动化接口就更做不好了.那么做接口测试前先了解下http: HTTP协议(HyperText Transfer P ...
- Python接口自动化——文件上传/下载接口
〇.前言 文件上传/下载接口与普通接口类似,但是有细微的区别. 如果需要发送文件到服务器,例如:上传文档.图片.视频等,就需要发送二进制数据,上传文件一般使用的都是 Content-Type: mul ...
- python接口自动化六(参数化也就是把之前敲过的代码封装成方法)
前言 前面一篇实现了参数的关联,那种只是记流水账的完成功能,不便于维护,也没什么可读性,接下来这篇可以把每一个动作写成一个函数,这样更方便了. 参数化的思维只需记住一点:不要写死 (由于博客园登录机制 ...
- python接口自动化11-post传data参数案例
前言: 前面登录博客园的是传json参数,有些登录不是传json的,如jenkins的登录,本篇以jenkins登录为案例,传data参数. 一.登录jenkins抓包 1.登录jenkins,输入账 ...
- python接口自动化18-multipart/form-data上传多个附件
前言 reuqests上传一张图片到服务器,前面已经介绍过了,那么如何在提交BUG的时候,上传附件呢? 上传附件的时候,文件的name参数名称是一样的,python里面key是不可以重复的,又如何处理 ...
- python接口自动化(十)--post请求四种传送正文方式(详解)
简介 post请求我在python接口自动化(八)--发送post请求的接口(详解)已经讲过一部分了,主要是发送一些较长的数据,还有就是数据比较安全等.我们要知道post请求四种传送正文方式首先需要先 ...
- python接口自动化 -参数关联(一)
原文地址https://www.cnblogs.com/yoyoketang/p/6886610.html 原文地址https://www.cnblogs.com/yoyoketang/ 原文地址ht ...
- python接口自动化24-有token的接口项目使用unittest框架设计
获取token 在做接口自动化的时候,经常会遇到多个用例需要用同一个参数token,并且这些测试用例跨.py脚本了. 一般token只需要获取一次就行了,然后其它使用unittest框架的测试用例全部 ...
- python接口自动化1-发送get请求
前言 requests模块,也就是老污龟,为啥叫它老污龟呢,因为这个官网上的logo就是这只污龟,接下来就是学习它了. 一.环境安装 1.用pip安装requests模块 >>pip in ...
随机推荐
- CSS3动画效果之animation
先解决上一篇的遗留问题. div { width: 300px; height: 200px; background-color: red; -webkit-animation: test1 2s; ...
- JavaScript二维码生成——qrcode.js
在开发中,有时候,我们需要根据不同的内容来动态生成二维码,则可以使用qrcode.js这个小插件来实现. 1.qrcode.js文件内容: (1)未压缩(qrcode.js): /** * @file ...
- python tornado 实现类禅道系统
最近楼主加班 喽, 好久没有更新我的博客了,哎,一言难尽,废话我就不说了,来开始上精华. 背景:目前市面上有很多bug管理工具,但是各有各的特点,最著名,最流行的就是禅道,一个偶然的机会接触到了pyt ...
- js中面向对象的写法
function Circle(r){ this.r = r; }//构造(实例对象的)函数[思路二:这是一个类] Circle.PI = 3.14159; //属性 Circle.prototype ...
- 遇到的面试题-sql
sql面试题(学生表_课程表_成绩表_教师表) 原帖链接:http://bbs.csdn.net/topics/280002741 表架构 Student(S#,Sname,Sage,Ssex) 学生 ...
- C 语言 define 变参__VA_ARGS__使用
在C语言的标准库中,printf.scanf.sscanf.sprintf.sscanf这些标准库的输入输出函数,参数都是可变的.在调试程序时,我们可能希望定义一个参数可变的输出函数来记录日志,那么用 ...
- 软工+C(2017第6期) 最近发展区/脚手架
// 上一篇:工具和结构化 // 下一篇:野生程序员 教育心理学里面有提到"最近发展区"这个概念,这个概念是前苏联发展心理学家维果茨基(Vygotsky)提出的,英文名词是Zone ...
- 201521123082 《Java程序设计》第12周学习总结
201521123082 <Java程序设计>第12周学习总结 标签(空格分隔): java 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. An ...
- 第03周-Java作业评价
1.作业存在的问题 几大扣分点: 思维导图敷衍了事 -1 代码格式混乱 -2 无码云提交记录 -2 无PTA实验总结 -2 部分题目未完成. 格式问题:到现在还搞不清楚的,主要是态度问题.相关的教程 ...
- 201521123094 《Java程序设计》第1周学习总结
1. 本周学习总结 ① Java根据应用领域分为三大平台:Java SE.Java EE.Java ME.Java SE平台,作为各大平台的基础,它分成JVM/JRE/JDK/Java语言四个主要部分 ...