使用 allure 工具自动将接口测试结果生成H5报告。

下载 allure 第三方库

在这里插入图片描述
第三方库名称为 allure-pytest!

配置环境变量

解压完成后到达bin目录下复制地址
在环境变量中双击path添加此地址配置环境变量

操作步骤

导入 :

import allure,os
import pytest
from jsonpath import jsonpath

写入代码 :
在这里插入图片描述

 allure.dynamic.feature("项目名称【swsq】") # 自定义场景名称为 ..... <1>
 allure.dynamic.title("{case_id}_{case_name}".format(case_id=data[0], case_name=data[4])) # 使用,format方法自定义标题名称 <2>
allure.dynamic.description(f'请求接口URL:{url} \n 请求方式:{method} \n 请求参数:{params} \n 预期结果:{expected_result} \n 实际结果:{r.json}') # 自定义右侧参数<3>

在这里插入图片描述
上方代码最终在H5报告中的位置。

搭配使用pytest:
在这里插入图片描述

# 将 excel 中从第二行开始所有的数据放到 data_test 中
data_test = list(sheet.iter_rows(values_only=True,min_row=2))

# class Test(): 定义了一个名为Test的类。
class Test():
    """项目名称【swsq后台】"""
# list(range(len(data_test))) 生成一个与data_test长度相同的列表 例如data_test有3个元素,那么此列表将为[0, 1, 2]。    
    @pytest.mark.parametrize("index",list(range(len(data_test))))
    # test_admin_api方法会对data_test列表每一个元素(或索引)运行一次。
    def test_admin_api(self, index):
    # index来从data_test中获取具体的测试数据
        data = data_test[index]

jsonpath 语法:

actual = jsonpath(JSON数据, 想要拿到的数据)
示例:
# JSON 数据
a = {'status':'ok','message':'登录成功','token':'1234567'}
# (JSON数据,‘使用$.方法拿去需要数据’)
`$. 用于从根对象开始定位具体的属性或值,而 $.. 用于递归地查询整个 JSON 对象并返回所有匹配的属性或值。`
b = jsonpath(a,'$.status')
print(b)

最终结果:
在这里插入图片描述

使用 assert 断言:

语法: assert … == …
在这里插入图片描述
例如上方例子 :

# 实际请求结果
assert actual,f"请求结果中不存在【{left}】"
# 如果请求结果中有token==true的结果说明与预期结果一致 如果没有 在页面中展示请求结果不存在...
# continue:
如果条件成立 continue被用于在特定条件满足时跳过当前迭代,直接进行下一次迭代 知道条件不成立。

生成测试报告:

if __name__ == '__main__':
    # 生成测试数据
    pytest.main(["-sq",__file__,'--alluredir=./report'])
    # 生成测试报告
    os.system('allure generate ./report -O ./report-html --clean')

上述代码会在当前文件夹下新建一个名为 allure-report 和 名为 report 的两个文件夹
allure-report 文件夹下的index.html文件是H5报告
必须在IDE中打开
在这里插入图片描述

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值