Pytest知识整合小记(六、Allure结合禅道生成测试报告)

先看下pytest+Allure生成的胡里花哨的测试报告吧

 

 

一、配置说明

安装包:pip install allure-pytest

Allure命令行的下载地址:https://github.com/allure-framework/allure2/releases

解压后把bin目录地址放到path环境变量下

二、执行用例与报告生成

执行命令:pytest --alluredir ./report/allure_raw(需要cd到对应的脚本目录)

执行完用例后生成报告:allure serve report/allure_raw

三、Allure配合脚本使用示例

如下所示:拿了昨天的脚本稍作修改

import pytest

import allure

global key,result

@allure.step("步骤1:加法运算判断")

def add(cache):

global key,result

result=1+2

key='aaa'

cache.set(key,result)

print("测试相加的结果为:",cache.get(key,result))

assert result==3

return result

@allure.step("步骤2:乘法法运算判断")

def multiply(cache):

global key,result

"""

fuction: 两个数相乘

>>> multiply(4, 3)

12

>>> multiply('a', 3)

'aaa'

"""

a=cache.get(key,result)

b=2

result2=a * b

print("测试相乘的结果为:",result2)

assert result2==6

return result2

@allure.feature("计算叠加值")

class Test_counter():#计算器

global key,result

"""docstring for jisuanqi"""

@allure.story("用例1")

def test_1_AddAndMultiply(self,cache):

    result3=add(cache)+multiply(cache)

    assert result3==9

@allure.story("用例2")

def test_2_AddAndAdd(self,cache):

    result4=add(cache)+add(cache)

    assert result4==6



@allure.story("用例3")

def test_3_MultiplyAndMultiply(self,cache):

    result5=multiply(cache)+multiply(cache)

    assert result5==11  #故意弄一个出错用例

if name == 'main':

pytest.main(["-v","-s","test_tmpdir.py"])

再通过上述执行就可以生成开头对应的测试报告了。

四、链接禅道测试用例

如下所示我们的禅道用例

 

链接方式如下所示:

@allure.testcase("http://192.168.7.140/zentao/testcase-view-22.html")  # 禅道用例连接地址

def test_1_AddAndMultiply(self,cache):

    result3=add(cache)+multiply(cache)

    assert result3==9

 

如上所示禅道地址就被链接进去报告里面了。

五、总结

1.feature:对应模块名称

2.story:对应用例的标题

3.testcase:对应禅道系统的bug用例url地址,关联起来

4.issue:如果这个用例有bug,应该关联对应的bug地址

5.用例描述:对应def下的描述步骤

posted @ 2025-05-14 15:25  寻虫测试  阅读(28)  评论(0)    收藏  举报