接口自动化post方法操作步骤:
1、common常用方法封装
2、调用common中封装好的json接口
1、common常用方法封装
common常用方法封装,通过header、root、
data等post方法进行封装。
import requests
import unittest
# 定义一个common的类,它的父类是object
class Common(unittest.TestCase):
# common的构造函数
def __init__(self,root):
# 被测系统的根路由
self.url root = root
# 封装你自己的post方法,uri是访问路由,params是post请求需要传递的参数,如果没有参数这里为空
def post(self, uri, data='',headers=''):
# 拼凑访问地址
url = self.url root + uri
if len(data) > 0 or len(headers) >0:
# 如果有参数,那么通过post方式访问对应的url,并将参数赋值给requests.post默认参数data
# 返回request的Response结果,类型为requests的Response类型
res = requests.post(url, data = data,headers = headers)
else:
# 如果无参数,访问方式如下
# 返回request的Response结果,类型为requests的Response类型
res = requests.post(url)
return res
2、调用common中封装好的json接口
调用common中封装好的代码,进行业务逻辑编写。
import unittest
import json
import pprint
from ddt import ddt,data,unpack
from interface_testing.common import *
@ddt
class QUERY_TRACK_DATA(unittest.TestCase):
@data(('1610417597117853','las_data'))
@unpack
def test_queryTrackData(self,customerNo,queryInfo):
# 访问uri
uri_index = '/customer/queryTrackData'
# 调用你的Common类
comm = Common('http://11.114.0.108:9086')
payload ="""{
"customerNo":"1610417597117853",
"queryInfo":"las_data"
}
"""
payload_info = json.loads(payload)
payload_info["customerNo"] = customerNo
payload_info['queryInfo'] = queryInfo
headers = {
'Content-Type': 'application/json: charset=utf-8'
# 完成方法
response_login = comm.post(uri_index,data=json.dumps(payload_info),headers=headers)
# 打印response结果
pprint.pprint('Response内容:' +response_login.text)
if __name__ =='__main__':
unittest.main()
网友评论