分享一下基于python语言的接口自动化测试,由于工作环境原因,设计到内部接口调用的,这里调用的是WCF
一、API
测试API使用的包是import http.client
这里我封装了一个方法:
def post_reply(data):
#http头 headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
#连接ip,端口 conn = http.client.HTTPConnection("ip", 端口)
#请求api conn.request('POST', '/api/路径', data, headers)
#获取返回结果 response = conn.getresponse()
#打印请求状态 print(response.status, response.reason)
#数据读取和转码 data = response.read().decode('utf-8')
#关闭连接 conn.close()
#返回数据 return data
这就是核心方法了,是不是很简单,在外层调用并断言,最后使用pytest-html打印测试报告二、WCF调用Wcf的环境准备比API复杂一些1.pip install suds 调用服务使用suds包 ,最后引入from suds.client import Client
2.
url = “http://ip:端口/Service.svc?wsdl”使用client = Client(url)
print(client)即可获取到所有WCF的方法,但是只有tcp才能访问的。这时我们还不能调用,所以我们要做的事是,看33.服务的web.config在system.serviceModel.service节点加入<endpoint address="" binding="basicHttpBinding" contract="Service.IService"></endpoint>这里的服务名根据实际自己修改。 这个节点的作用就是给我们使用http调用它的接口打开一扇门好了,接下来我们继续调用result = client.service.服务里的接口(接口参数)调用成功,接下来,又开始各种断言和打印测试报告了。。。
程序实现调用之后,怎样循环,集成都是一套框架的事了。GO!