应用场景:Allure Report报表以收集测试运行信息翔实、分类完整、显示美观受到了很多自动化测试朋友的青睐。有些企业可能没有完全集成到CICD上,也有的企业用的是Python, 这就要求我们测试人员要能灵活地根据实际状况配置Allure Report。今天介绍一下如何与pytest 结合快速生成一份报告在测试本机,期望能够为正在烦恼的自动化测试朋友提供一份帮助。(如果想配置Allure Report 在Jenkins, 您可以下载 Allure Plugin)
温馨提示:如果阅读者想按示例进行操作,您一定要具备以下的配置。
·自动化框架: Selenium + Python
·编译:pytest
·IDE: PyCharm
安装 Allure Report on Windows
1.下载Download Allure Report
https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/
去到以上链接然后点击下载最新的allure 版本。(2.13.5)
下载最新 allure-commandline-2.13.5.zip 文件
解压下载的allure-commandline-2.13.5.zip 文件到合适的路径(注:此例中放到了D 盘)
2.配置 系统环境变量Set System environment variable
打开System Properties > Environment variables > system variables > Path > Edit
添加一条新记录:D:\allure-2.13.5\bin 并保存,然后关闭打开的所有对话框 (注:这就是解压后allure report path)
验证Allure Report
1.打开Command Prompt, 执行以下命行:allure --version
如果配置正确,您会看到当前allure 的版本信息。
安装Allure-pytest
1.项目设置Project Settings
依次打开File> Settings > Project: > Python Interpreter (注:假设您已经建立一个pytest的项目)
点击右面的+ , 在Available Packages 对话框 中查找并安装Allure-pytest。确认安装成功以后,依次关闭打开的Settings对话框。
建立测试脚本Sample test script
1.使用截图 take screenshot
以下显示的是测试用例截取运行图片的代码:
2.Test case link的使用:
3.使用@allure.时的提示,这里有很多实用的annotation 可以供测试人员添加。
运行测试Run test script
执行下面的命令:
pytest -v -s --alluredir="D:\SeleniumPythonProject\allurereporttest\allurereport\result" allurereport/test_allure_report.py (注:result 文件夹在第一次运行时会自动生成, 这里一定要是绝对路径。)
下图运行脚本以后的完整结果。可以看到1个用例失败,2 个用例成功。
设置运行环境参数Environment
设置运行环境参数通过Environment.properties (or environment.xml ), 个人偏好用Environment.properties ,主要是觉得易读,易写。把创建好的文件放在生成的报告目录下:
(注:在本例中,生成报告目录D:\SeleniumPythonProject\allurereporttest\allurereport\result,在CICD 的配置中,通常会自动生成这个文件由于运行的环境、系统的不同,然后通过写段代码复制这个文件到对应的目录在测试脚本运行结束以后。)
生成Allure Report
在打开的command prompt 下, 执行命令:
allure serve D:\SeleniumPythonProject\allurereporttest\allurereport\result (注:本例的路径就是运行测试中生成报告的目录)
以上命令执行成功以后,Allure Report 会自动打开在您的浏览里。如下图所示,本演示中3 个用例,1个失败,2 个成功。Environment 显示了当前设置的测试环境参数。
下面这张图显示了用例中自定义抓取的图片。这个非常有用,当我们设置了浏览器为headless 或用CICD运行测试时,这些抓取到的图片就能让我们准确地定义到当时发生了什么,视觉效果特别强吧。如果是哪里有BUG了,再也不用重复测试了。
看看运行失败用例的信息吧,我们使用test case link (这个链接是可以点击的哦。),可以快速地对应到执行的用例,是不是创建bug时特别节省时间啊。
作者:胡英军
来源:51Testing软件测试网原创