Pytest中实现自动生成测试用例脚本代码

from utils.assertion.assert_controller import AssertController
from utils.requests_tools.requests_client import RequestClient

api_module = ‘接口模块***’
api_name = ‘接口名称***’

@allure.epic(api_module)
@allure.feature(api_module + ‘’ + api_name)
class TestCaseGroup:

@allure.title("接口健康检查")
@allure.description("接口返回信息基础验证")
@pytest.mark.smoke
def test_smoke(self, init_api_data):
    # 获取环境配置信息&接口测试数据
    env_data, case_data = init_api_data

    # 获取接口返回信息
    res = RequestClient(case_data).get_api_response()

    # 进行断言验证
    AssertController(case_data.assert_data).assert_equality(res.response_data)

故我们就可以设计一个用例模板的生成器:



import datetime
from typing import Text

def write_case(file_path: Text, page: Text) -> None:
“”" 写入用例数据 “”"
with open(file_path, ‘w’, encoding=“utf-8”) as file:
file.write(page)

def write_init_file(*, file_path: Text) -> None:
“”"
初始化文件写入
:param file_path: __init__文件地址
:return:
“”"
now = datetime.datetime.now().strftime(‘%Y/%m/%d %H:%M’)

page = f'''#!/usr/bin/env python

-- coding: utf-8 --

@Author : gmluo1988

@Software : PyCharm

@File : init.py.py

@Time : {now}

‘’’
write_case(file_path=file_path, page=page)

def write_test_case_file(*,
api_module: Text,
api_name: Text,
filename: Text,
case_path: Text) -> None:
“”"
标准测试用例文件写入
:param api_module: 接口所属模块
:param api_name: 接口名称名称
:param filename: 用例文件名称
:param case_path: 用例文件地址
“”"
now = datetime.datetime.now().strftime(‘%Y/%m/%d %H:%M’)

page = f'''#!/usr/bin/env python

-<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值