一、pytest-allure常用api
test_role_manager.py
import allure from utils import role_manager_utils import pytest import uuid @allure.feature('角色管理测试') class TestRoleManager: def setup_class(self): print("-------------setup_class--------------") @allure.story('查询角色列表') @allure.description('测试查询角色列表') @allure.title('查询角色列表') def test_get_role_list(self): self.res = role_manager_utils.get_role_list() assert self.res['status'] == 200 assert self.res['result'] == True assert len(self.res['data']) > 0
二、参数封装
role_manager_utils.py
import copy from utils import send_request BASE_URL = "http://10.15.123.111:92" PATH = "/api/role" url = BASE_URL + PATH dic_params = {} def get_role_list(): return send_request.send_get_request(url=url, params=dic_params) def test_get_role_by_name(name=None): if name is not None: dic_params.update(name=name) return send_request.send_get_request(url=url, params=dic_params) def add_role(name=None, description=None, status_id=True): if name is not None: dic_params.update(name=name) if description is not None: dic_params.update(description=description) if status_id is not None: dic_params.update(status_id=status_id) return send_request.send_post_request(url=url, params=dic_params) def delete_role(role_id=None): if role_id is not None: dic_params.update(role_id=role_id) del_url = url + "/" + str(role_id) return send_request.send_delete_request(url=del_url) def update_role(role_id=None, name=None, description=None, status_id=True): if name is not None: dic_params.update(name=name) if description is not None: dic_params.update(description=description) if status_id is not None: dic_params.update(status_id=status_id) update_url = url + "/" + str(role_id) return send_request.send_update_request(url=update_url, params=dic_params)
三、代码封装工具类
send_request.py
import json import requests from utils import common_headers from utils.logger_utils import logger # 请求头 headers = common_headers.get_headers() print(type(headers)) def send_post_request(url, params): """ post请求 :param url: :param params: :return: """ logger.debug(f'打印日志信息为:{url}') logger.debug(f'打印日志信息为:{params}') r = requests.post(url=url, headers=headers, data=json.dumps(params)) rcontent = r.json() logger.debug(f'打印日志信息为:{rcontent}') return rcontent def send_get_request(url, params): """ get请求 :param url: :param params: :return: """ logger.debug(f'请求url信息为:{url}') logger.debug(f'请求参数为:{params}') logger.debug(f'请求头信息为:{headers}') r = requests.get(url=url, headers=headers, params=params) rcontent = r.json() logger.debug(f'后端返回json数据为:{rcontent}') return rcontent def send_delete_request(url): """ delete请求 :param url: :param params: :return: """ logger.debug(f'请求url信息为:{url}') logger.debug(f'请求头信息为:{headers}') r = requests.delete(url=url, headers=headers) rcontent = r.json() logger.debug(f'后端返回json数据为:{rcontent}') return rcontent def send_update_request(url, params): logger.debug(f'请求url信息为:{url}') logger.debug(f'请求参数为:{params}') logger.debug(f'请求头信息为:{headers}') r = requests.put(url=url, headers=headers, json=params) rcontent = r.json() logger.debug(f'后端返回json数据为:{rcontent}') return rcontent
浙公网安备 33010602011771号