python web service,web接口开发与自动化测试 基于python语言
1.使用Python从suds.client导入客户端访问WebService远程方法
从suds.transport.https导入HttpAuthenticated
t=HttpAuthenticated(用户名=admin ,密码=123 )
test=Client( http://XXX . XXX . xx . XXX:8080/web service/ws/DeviceManageService?wsdl ,transport=t)
打印测试#查看远程方法
print . service . getDeviceList()# getDeviceList为WebService提供的接口
2.构建WebService接口所需的参数
1)简单调用,client=不带参数的客户端(url)
client.service.fun()
2)传递对象参数(方法1)
再看远程方法,发现好玩接口的参数类型是paramType,有两个属性,P1和P2,client=Client(url)
m=client . factory . create( param type )
m.p1=param 1
m.p2=param 2
结果=client.service.fun(m)
打印结果
3)传递对象参数(方法2)客户端=客户端(url)
m={p1:param 1 , p2:param 2}
print client.service.fun(m)
4)suds将异常打包成元组并输出client=Client(url)
客户端=客户端(url,故障=假)
result=client . service . funin( error param )
打印结果
3.理解WebService的WSDL描述文件
1)检查WebService提供的接口。
label: operation中的名称表示提供的接口名称,每个接口包含两部分:wsdl:input和wsdl:output,可以理解为输入消息和输出消息。
Wsdl:input相当于接口的输入参数,wsdl:output相当于接口的返回结果。
2)检查WebService提供的接口的参数
在wsdl:message标记中查找与接口同名的项目,例如:
关键词是element=tns:getDevice ,name=parameters
继续查看xs:complexType标记中与 tns:getDevice 冒号后的字符匹配的标记,例如:
xs:element标签描述了参数的内容,也就是参数的属性。这里,deviceId是必需的,参数类型是string。
即接口原型为getDevice(字符串deviceId)。
3)如果xs:element标签中type的值包含 tns:前缀(如type=tns:param ),则说明这个参数是复合结构,需要继续寻找xs:complexType标签中与“param”匹配的标签项,以此类推。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。