python之接口自动化测试

2022-09-06  本文已影响0人  每天进步一点点变成更好的自己

接口自动化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()
上一篇 下一篇

猜你喜欢

热点阅读