如何制作自己的网站和app,钉钉小程序开发工具,我想做个网站推广怎么做,网络营销具有哪些优势和吸引力Allure是一个开源的测试报告生成框架#xff0c;提供了测试报告定制化功能#xff0c;相较于我们之前使用过pytest-html插件生成的html格式的测试报告#xff0c;通过Allure生成的报告更加规范、清晰、美观。
pytest框架支持使用Allure生成测试报告#xff0c;接下来让介绍…Allure是一个开源的测试报告生成框架提供了测试报告定制化功能相较于我们之前使用过pytest-html插件生成的html格式的测试报告通过Allure生成的报告更加规范、清晰、美观。
pytest框架支持使用Allure生成测试报告接下来让介绍pytest怎样结合Allure生成测试报告。
环境搭建
安装allure-pytest
步骤1需要先安装插件allure-pytest可以理解为用于连接pytest和allure使它们可以结合使用。
安装命令pip install allure-pytest
安装Allure
步骤2中需要安装Allure需要去github下载地址为Releases · allure-framework/allure2 · GitHub
根据操作系统在最新版本中选择对应格式的安装文件进行下载Windows系统选择allure-2.xx.x.zip下载如下图所示 下载后解压文件并将bin文件所在的路径加入系统环境变量再重启电脑怎样加入环境变量这里不啰嗦不知道的同学可以百度。
至此环境搭建完成。 自动化测试相关教程推荐 2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂_哔哩哔哩_bilibili 2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华学完年薪40W_哔哩哔哩_bilibili 测试开发相关教程推荐 2023全网最牛字节测试开发大佬现场教学从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili postman/jmeter/fiddler测试工具类教程推荐 讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程学jmeter接口测试一套教程就够了_哔哩哔哩_bilibili 2023自学fiddler抓包请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程_哔哩哔哩_bilibili 2023全网封神B站讲的最详细的Postman接口测试实战教学小白都能学会_哔哩哔哩_bilibili 定制报告
Allure提供了很多特性用于定制生成测试报告脚本中加入这些特性可以对测试步骤进行详细的说明且不会对测试代码逻辑产生影响。
接下来以在线购物平台的购物车功能模块和下单模块简单举例说明测试模块test_case.py代码如下
import allure
import pytest
import osallure.step(登录获取token)
def get_token():print(请求登录接口获取token)allure.step(加入购物车)
def add_to_shopping_trolley():print(请求加入购物车接口)allure.step(查询我的购物车)
def get_shopping_trolley_goods():print(请求查询我的购物车接口)allure.step(清空购物车)
def empty_shopping_trolley():print(请求清空购物车接口)allure.step(下单)
def place_order():print(请求下单接口)allure.epic(xx在线购物平台接口测试)
allure.feature(购物车功能模块)
class TestShoppingTrolley:allure.story(商品加入购物车)allure.title(正向用例--将库存数0的商品加入购物车)allure.description(校验库存数不为0的商品加入购物车是否正常)allure.severity(critical)def test_add_goods(self):get_token()add_to_shopping_trolley()allure.story(商品加入购物车)allure.title(异常用例--将库存数0的商品加入购物车)allure.description(校验库存数为0的商品加入购物车是否提示正确的错误信息)allure.severity(normal)def test_add_goods_error(self):get_token()add_to_shopping_trolley()allure.story(查询购物车商品数量)allure.title(查询购物车所有商品的总数量)allure.description(校验查询购物车所有商品的总数量是否正常)allure.severity(critical)def test_get_goods_quantity(self):get_token()add_to_shopping_trolley()get_shopping_trolley_goods()allure.story(查询购物车商品数量)allure.title(查询购物车单个商品的数量)allure.description(校验查询购物车单个商品的数量是否正常)allure.severity(critical)def test_get_goods_quantity(self):get_token()add_to_shopping_trolley()get_shopping_trolley_goods()allure.story(清空购物车)allure.title(加入商品后再清空购物车)allure.description(校验清空购物车接口功能是否正常)allure.severity(normal)def test_empty_shopping_trolley(self):get_token()add_to_shopping_trolley()empty_shopping_trolley()allure.epic(xx在线购物平台接口测试)
allure.feature(下单模块)
class TestPlaceOrder:allure.story(购物车下单)allure.title(商品加入购物车再下单)allure.description(校验清购物车下单功能是否正常)allure.severity(critical)def test_place_order(self):get_token()add_to_shopping_trolley()place_order()allure.story(立即购买下单)allure.title(选择商品不加入购物车立即购买下单)allure.description(校验立即购买下单功能是否正常)allure.severity(critical)def test_order(self):get_token()place_order()上面测试代码中使用了Allure的一些特性为了更好的理解这些特性的使用我们可以将测试脚本由上至下进行分层
被测系统即被测系统的描述如在线购物商城功能模块一个被测软件系统包含一个或多个功能模块如在线购物商城包含登录、购物车、下单、支付、发货等模块使用场景一个功能模块中包含一个或多个用户使用场景如购物车模块包含加入购物车、修改数量、清空购物车的场景测试用例一个场景包含一条或多条测试用例如加入购物车包含库存数0 或 0等测试用例测试步骤一条测试用例由一个或多个测试步骤构成如将库存数0商品加入购物车测试步骤为登录--商品加入购物车
对照以上分层我们再来理解代码中使用的这些Allure特性如下 allure.epic()用于描述被测软件系统 allure.feature()用于描述被测软件的某个功能模块 allure.story()用于描述功能模块下的功能点或功能场景也即测试需求 allure.title()用于定义测试用例标题 allure.description()用于测试用例的说明描述 allure.severity()标记测试用例级别由高到低分为 blocker、critical、normal、minor、trivial 五级 pytest.allure.step()标记通用函数使之成为测试步骤测试方法/测试函数中调用此通用函数的地方会向报告中输出步骤描述
生成报告
生成Allure报告步骤
pytest中Allure生成测试报告需要经过如下两步操作 首先生成测试结果数据 # python代码执行
pytest.main([testcase/test_case.py, -s, -q, --alluredir, ./result])
# 命令行形式
pytest testcase/test_case.py --alluredir ./result即运行testcase/目录下的测试用例将测试结果以json文件的形式保存至当前目录下的result文件夹中。 参数--alluredir用于指定测试结果保存路径。 然后生成HTML格式的测试报告 # python代码执行
os.system(allure generate ./result -o ./report --clean)
# 命令行形式
allure generate ./result -o ./report --clean即将当前目录下的result文件夹中的json数据生成测试报告结果及index.html并保存至当前目录下的report文件夹中。 --clean表示先清除之前的测试报告使用与否视情况自行选择。
执行代码
因此执行模块run.py代码编写如下
run.py
if __name__ __main__:pytest.main([testcase/test_case.py, -s, -q, --alluredir, ./result])os.system(allure generate ./result -o ./report --clean)运行run.py结果如下 报告结果展示
运行run.py后在run.py同级目录下新增了result文件夹以及文件夹下的json文件有多少条测试用例就生成多少个名称为xxxx-result.json的结果文件。
同样在run.py同级目录下新增了report文件夹report文件夹中生成了一些文件包括index.html如下 在浏览器中打开index.html打开后首页如下 选择点击Behaviors后结果如下 Allure报告默认语言为英文可以选择中文如下 总结
可以把epic、feature、story理解为将测试用例按照功能模块进行分类epic为一级类目feature为二级类目story为三级类目。
而title、description、severity、step等则用于测试用例自身相关的描述定义。
当然Allure还有其他的常用特性下篇文章我们再继续学习。 总结 光学理论是没用的要学会跟着一起敲要动手实操才能将自己的所学运用到实际当中去这时候可以搞点实战案例来学习。 如果对你有帮助的话点个赞收个藏给作者一个鼓励。也方便你下次能够快速查找。
如有不懂还要咨询下方小卡片博主也希望和志同道合的测试人员一起学习进步
在适当的年龄选择适当的岗位尽量去发挥好自己的优势。
我的自动化测试开发之路一路走来都离不每个阶段的计划因为自己喜欢规划和总结
测试开发视频教程、学习笔记领取传送门