严格意义上讲 Allure 不算是测试框架但是它是生成漂亮测试报告的开源工具搭配 Pytest 测试框架食用更搭。也就是说 Allure 是在 Pytest 执行完生成的测试数据的基础上对测试数据进行处理统计生成格式统一、美观的测试报告。一、Allure初识1. 什么是 AllureAllure 是由Qameta Software团队开源的一款旨在于解决让每个人能更容易生成并更简洁阅读的测试报告框架。它支持大多数的测试框架如Pytest、TestNG等简单易用便于集成。2. Allure环境搭建工欲善其事必先利其器Allure 框架基于其他的测试框架使用例如Pytest。# windows env source env/Scripts/activate # 安装 pytest 和 pytest-allure-adaptor pip3 install pytest # Allure Pytest Adaptor是Pytest的一个插件比较旧的一个插件 # allure-pytest 比较新一点建议使用 pip3 install pytest-allure-adaptor pip3 instal allure-pytest # 安装Allure工具主要是讲pytest的测试数据转换成HTML数据 # linux环境安装 # 现将allure源添加到linux的源里 sudo apt-add-repository ppa:qameta/allure # 更新本地源 sudo apt-get update # 安装allure[allure无法使用的解决方案](https://askubuntu.com/questions/1168821/allure-report-installed-but-not-findable) sudo apt-get install allure # 上面的方法不行的话用下面的方法 curl -o allure-2.6.0.tgz -Ls https://dl.bintray.com/qameta/generic/io/qameta/allure/allure/2.6.0/allure-2.6.0.tgz sudo tar -zxvf allure-2.6.0.tgz -C /opt/ sudo ln -s /opt/allure-2.6.0/bin/allure /usr/bin/allure allure --version # Windows 下安装就麻烦点可以使用 Scoop 工具Chocolatey工具不知道为什么安装不了不管了官方推荐使用 Scoop 安装就使用 Scoop 安装得了 # 先安装[Scoop](https://juejin.cn/post/6844904017823285262) # 检查sccop是否安装成功 scoop --version # 安装 allure scoop install allure # 查看allure是否安装成功 allure --version二、Pytest集成AllureAllure要生效需要在测试文件和测试通配文件conftest.py中配置 allure。1. allure的特性Aullre的几个特性allure.feature # 用于定义被测试的功能被测产品的需求点 allure.story # 用于定义被测功能的用户场景即子功能点 with allure.step # 用于将一个测试用例分成几个步骤在报告中输出 allure.attach # 用于向测试报告中输入一些附加的信息通常是一些测试数据信息 pytest.allure.step # 用于将一些通用的函数作为测试步骤输出到报告调用此函数的地方会向报告中输出步骤2. pytest集成allure测试文件示例生成测试数据进一步生成 allure 测试报告#!/usr/bin/env python # -*- encoding: utf-8 -*- File : test_allure_shopping.py Time : 2019/12/1017:34 Author : Crisimple Github : https://crisimple.github.io/ Contact : Crisimplefoxmail.com License : (C)Copyright 2017-2019, Micro-Circle Desc : None import pytest import allure # allure.feature 定义功能 allure.feature(报告购物车) class TestAllure(object): # 定义用户场景 allure.story(加入购物车) def test_add_goods_cart(self): # 调用步骤函数 login(crisimple, 123456) # 将测试用例分成几个步骤将测试步骤打印到测试报告中步骤二 with allure.step(浏览商品): # allure.attach--打印一些附加信息 allure.attach(商品1, C) allure.attach(商品2, C) # 步骤三 with allure.step(加入商品): allure.attach(商品1, 2) allure.attach(商品2, 3) # 步骤四 with allure.step(校验商品): allure.attach(商品1加入成功, 共2个) allure.attach(商品2加入失败, 共0个) allure.story(继续购物) def test_continue_shopping_cart(self): login(crisimple, 123456) allure.attach(商品3, 4) print(继续购物成功) allure.story(减少商品失败) def test_edit_shopping_cart(self): login(crisimple, 123) assert 0 pytest.mark.skip(reason删除购物车不执行) allure.story(删除购物车) def test_delete_shopping_cart(self): login(crisimple, 123) print() # 将函数作为一个步骤调用此函数时报告中输出一个步骤步骤名称通常时函数名这样的函数通常称为步骤函数 allure.step(用户登录) def login(user, passwd): if user crisimple and passwd 123456: print(user, passwd) print(登录成功) else: print(user, passwd) print(登录失败请重新尝试)三、Allure生成测试报告1. pytest生成测试报告# 执行全部的测试用例 pytest ./Allure/test_allure_shoping.py --alluredir ./Allure/result/ # 执行指定features或者stories执行一部分测试用例比如执行‘报告购物车’下的‘加入购物车’子功能的测试用例 pytest ./Allure/test_allure_shopping.py --allure_features报告购物车 --allure_stories加入购物车 ../Allure/part_2. Allure生成测试报告# 生成测试报告 allure generate ./Alluer/result/ -o ./Allure/report/ --clean # 打开测试报告 allure open -h 127.0.0.1 -p 8083 ./Allure/report/打开测试报告牛皮的是可以切换 中文版本Overview概览 Categories类别 Behavior功能 Suites测试套件 Graphs图标 Timeline时间刻度 Packages测试包四、Allure与Jenkins结合对于成规模的测试团队会把自动化测试 部署集成到Jenkins中构建成自动化部署。4.1 Jenkins配置Allure安装Allure插件4.2 创建job配置路径必须配置一致source env/bin/activate echo **************Welcome to env************** echo **************pytest create test data************** pytest /完整路径/Allure/test_allure_shopping.py --alluredir ${WORKSPACE}/allure-results/ echo **************report has generated done**************4.3 执行工程立即构建工程即可。最后下方这份完整的软件测试 视频教程已经整理上传完成需要的朋友们可以自行领取【保证100%免费】​​​软件测试面试文档我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。