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下的描述步骤

浙公网安备 33010602011771号