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

Alluer01-介绍

时间:2023-01-07 10:03:25浏览次数:51  
标签:actual 测试报告 -- pytest 介绍 allure expect Alluer01

什么是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部分

Alluer01-介绍_测试报告

测试报告Categories部分

Alluer01-介绍_测试报告_02

测试报告Suites部分

Alluer01-介绍_测试报告_03

测试报告Graphs部分

Alluer01-介绍_配置环境变量_04

测试报告Timeline部分

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

测试报告Behavior部分

Alluer01-介绍_配置环境变量_05

测试报告Packages部分

Alluer01-介绍_测试报告_06

编写测试代码文件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部分

Alluer01-介绍_配置环境变量_07

测试报告Suites部分

Alluer01-介绍_配置环境变量_08

测试报告Packages部分

Alluer01-介绍_数据_09

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



作者:暄总-tester











标签:actual,测试报告,--,pytest,介绍,allure,expect,Alluer01
From: https://blog.51cto.com/u_14911999/5995390

相关文章

  • 使用docker的好处和作用(docker主要功能介绍)
    由于不同的机器有不同的操作系统,以及不同的库和组件,在将一个应用部署到多台机器上需要进行大量的环境配置操作。Docker主要解决环境配置问题,它是一种虚拟化技术,对进......
  • 第一章:sklearn总体介绍
    第一章:sklearn总体介绍引言来自:https://www.heywhale.com/mw/project/63a306f9f000f7ef39f84e30Sklearn(全称Scikit-Learn)是基于Python语言的机器学习工具。它......
  • 《XY8788WA-F 4G AI核心板》详细相关介绍!
         深圳市新移科技有限公司推出的《XY8788WA-F 4GAI核心板》是基于联发科MT8788(I500P)平台所研发出的4G全网通核心板。它拥有强劲的性能,超低的功耗;采用沉金生产......
  • Spring Boot笔记--Spring Boot相关介绍+快速入门
    相关介绍简化了Spring开发,避免了Spring开发的繁琐过程提供了自动配置、起步依赖、辅助功能快速入门结果呈现:相关过程:helloController.javapackageorg.example......
  • 主流的4种跨网文件交换方式优缺点介绍
    网络上承载了太多企业的业务,其安全性一定要得到保障,所以很多企业和机构都会选择将网络进行隔离划分,比如内外网隔离,办公网、研发网隔离等,也有不少企业会选择用云桌面的形式......
  • Vue.set()和this.$set()介绍
    文章目录​​1.场景​​​​2.使用​​​​2.1`this.$set()`​​​​2.2`Vue.set()`​​1.场景当生成​​Vue​​实例之后,再次给数据赋值或者新增数据对象属性时,数据可以......
  • 28个数据可视化图表的总结和介绍
    数据可视化本身就是一种通用语言。我们这里通用语言的意思是:它能够向各行各业的人表示信息。它打破了语言和技术理解的障碍。数据是一些数字和文字的组合,但是可视化可以展......
  • docker介绍
    Docker是一个容器化平台,它以容器的形式将你的应用程序及所有的依赖项打包在一起,以确保你的应用程序在任何环境中无缝运行。Docker利用Linux核心中的资源分离机制(例如cgro......
  • 【团队效率提升】Python-PyWebIO介绍
    作者:京东零售关键Q&A快速了解PyWebIOQ:首先,什么是PyWebIO?A:PyWebIO提供了一系列命令式的交互函数,能够让咱们用只用Python就可以编写Web应用,不需要编写前端页面和后端接口......
  • springMVC常用注解介绍
    @Controller注解一个类表示控制器,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model......