测试环境信息
- 测试环境信息无法通过allure特性实现,需要借助环境配置文件
- 配置文件名必须是environment.properties
- 文件必须放在allure生成的结果数据目录中才能生效
- 文件中的环境变量名以及变量个数可以自定义
systemVersion=win10
pythonVersion=3.9.5
pytestVersion=7.1.2
allureVersion=2.10.0
baseUrl=http://192.168.52.129
projectName=Apitest
- 执行测试时,测试结果数据目录可以被清理掉
- pytest.main(['--alluredir=./allure-results', '--clean-alluredir', '?.py'])
- 为确保代码正确性,可以考虑将环境配置文件放在项目根目录中,每次执行测试时,拷贝环境配置文件到测试结果目录中
- python拷贝文件
- import shutil
- shutil.copy('源文件名', '目标目录或目标文件名')
- 拷贝源文件到目标目录中,或者拷贝源文件为新的目标文件
- 如果文件事先已存在,则直接覆盖
编写测试代码文件ceshi_calc_as05.py,添加测试环境信息
if __name__=='__main__':
import os, shutil
pytest.main(['-v', '--alluredir', './allure-results', 'ceshi_calc_as05.py'])
shutil.copy('environment.properties', './allure-results/')
os.system('allure.bat generate ./allure-results -o ./report --clean')
测试报告测试环境部分
趋势信息
- allure可以记录历次测试执行的结果,并进行汇总、对比
- 趋势信息无法通过allure特性实现,需要借助测试结果数据目录中的history目录实现
- 如果测试结果目录中不存在history目录,则测试报告中不会生成趋势信息
- 如果测试结果目录中包含history目录,则借助history目录中的数据生成趋势信息
- 执行测试时,不会自动在测试结果数据目录中生成history目录
- 生成报告后,allure会在测试报告目录中生成history目录
- 需要将测试报告目录中的history拷贝到测试结果数据目录中,然后重新生成报告
- 添加趋势信息的策略和思路
- 第1次执行测试
- 不会生成history目录
- 生成测试报告
- 先生成测试报告,然后自动在测试报告目录中生成本次测试的history目录
- --clean不会删除history目录
- 将测试报告目录中的history目录拷贝到测试结果数据目录中
- 重新生成测试报告
- 根据测试结果数据目录中的history生成趋势信息
- 第1次执行测试
- 添加趋势信息的策略和思路
- 后续执行测试
拷贝过来的history目录不会被--clean-alluredir删除 - 生成测试报告
- 先生成报告,会将测试结果数据目录中的history生成趋势信息
- 然后再自动在测试报告目录中生成本次测试的history目录,并与测试数据目录中的history目录合并
- 将测试报告目录中的history目录拷贝到测试结果数据目录中
- 重新生成测试报告
- 后续执行测试
- 静默模式生成报告
- os.system('allure.bat -q generate ./allure-results -o ./report --clean')
- -q:不提示报告生成成功
- os.system('allure.bat -q generate ./allure-results -o ./report --clean')
- 删除和拷贝目录
- shutil.rmtree('目标目录如history', ignore_errors=True)
- 目录不存在时报错,ignore_errors可以忽略报错
- shutil.copytree('源目录', '目标目录')
- 把源目录中的所有文件拷贝到目标目录中,若目标目录不存在会自动创建,若目标目录已经存在,则报错且不能忽略错误
- shutil.rmtree('目标目录如history', ignore_errors=True)
编写测试代码文件ceshi_calc_as06.py,添加测试趋势信息
import os, shutil
pytest.main(['-v', '--alluredir', './allure-results', 'ceshi_calc_as06.py'])
os.system('allure.bat -q generate ./allure-results -o ./report --clean')
shutil.rmtree('./allure-results/history', ignore_errors=True)
shutil.copytree('./report/history/', './allure-results/history')
os.system('allure.bat generate ./allure-results -o ./report --clean')
测试报告趋势信息部分
测试报告趋势信息Graphs部分
小结
- 环境信息配置文件environment.properties
- allure会自动识别,将配置信息写入到测试报告中
- 该文件必须放到测试数据结果目录中
- 趋势信息
- 借助测试结果数据目录中的history目录实现
- 执行测试时,history目录不会被生成,需要从report目录中拷贝
- history目录在生成测试报告后自动生成