首页 > 其他分享 >Alluer01-介绍

Alluer01-介绍

时间:2022-12-31 16:13:09浏览次数:53  
标签:allure 测试报告 -- 介绍 pytest expect Alluer01 actual

什么是allure

  • allure是一款轻量级并且非常灵活的开源测试报告框架
    • 支持绝大多数测试框架,例如TestNG、Pytest、JUint等
    • 简单易用,易于集成
    • 在python中使用allure,需要安装allure-pytest
      • allure-pytest是Pytest的一个插件,通过它我们可以生成Allure所需要的用于生成测试报告的数据

allure环境配置

  • 必须安装jdk并配置环境变量
    • JAVA_HOME、path
  • 拷贝allure-2.17.3并配置环境变量
    • 拷贝allure-2.17.3到某个位置,将此路径(含bin目录)添加到环境变量中
  • pip install allure-pytest
  • 必须重启pycharm

生成allure测试报告

  • 运行测试,生成allure测试报告
import os
pytest.main(['--alluredir=./allure-results', '--clean-alluredir', '被测模块名.py'])
allure生成的是json测试数据,这里把数据存到/allure-results目录下
--clean-alluredir用于清理allure-results中之前的报告数据,否则allure会合并以前的报告数据,并将新数据写入报告中
os.system('allure.bat generate ./allure-results -o ./report --clean')
生成报告到report目录,--clean用于清除report下的文件(必须)

生成allure测试报告

  • 案例:编写被测程序
    -calc.py
def add(a, b):
  return a+b
def sub(a, b): 
  #预留缺陷 
  return a+b
def div(a, b): 
  #预留缺陷    
  if b!=0:        
    return a/b
  else:
    return b/a

编写测试代码文件ceshi_calc_as01.py,测试add函数和sub函数,生成allure测试报告

import pytest
from calc import add, sub
add_cases=[[1,2,3], [2,0,2], [-1,-2,-3], [-2,0,-2]]
@pytest.mark.parametrize('a, b, expect', add_cases)
def test_add(a,b,expect):
  actual=add(a, b)
  assert actual==expect, f'预期:{a}+({b})={expect},实际:{a}+({b})={actual}'
sub_cases=[[1,2,-1], [2,0,2], [-1,-2,1], [-2,0,-2]]
@pytest.mark.parametrize('a, b, expect', sub_cases)
def test_sub(a,b,expect):
    actual=sub(a, b)
    assert actual==expect, f'预期:{a}-({b})={expect},实际:{a}-({b})={actual}'
if __name__=='__main__':
    import os
    pytest.main(['--alluredir=./allure-results', '--clean-alluredir', 'ceshi_calc_as01.py'])
    os.system('allure.bat generate ./allure-results -o ./report --clean')

测试报告Overview部分

测试报告Categories部分

测试报告Suites部分

测试报告Graphs部分

测试报告Timeline部分

  • 列出了执行时间较长的几个用例

测试报告Behavior部分

测试报告Packages部分

编写测试代码文件ceshi_calc_div01.py,测试div函数,生成allure测试报告,不清除之前的测试结果

import pytest
from calc import div
div_cases=[[1,2,0.5], [2,0,'除数不能为零'], [-1,-2,0.5], [0,2,0]]
@pytest.mark.parametrize('a, b, expect', div_cases)
def test_div(a, b, expect):
    actual=div(a, b)
    assert actual==expect, f'预期:{a}-({b})={expect},实际:{a}-({b})={actual}'
if __name__=='__main__':
    import os
    pytest.main(['--alluredir', './allure-results', 'ceshi_calc_div01.py'])
    os.system('allure.bat generate ./allure-results -o ./report --clean')

测试报告Overview部分

测试报告Suites部分

测试报告Packages部分

小结

  • allure报告可以结合pytest、testng、junit
  • 需要先安装jdk并配置环境变量
  • 需要安装allure并配置环境变量
  • pytest.main(['--alluredir', '测试结果数据目录', '--clean-alluredir', '测试代码模块名'])
  • os.system('allure.bat generate 测试结果数据目录 -o 测试报告目录 --clean')

标签:allure,测试报告,--,介绍,pytest,expect,Alluer01,actual
From: https://www.cnblogs.com/sean-test/p/17016849.html

相关文章