安装jenkins
https://blog.csdn.net/u013257767/article/details/106522290
https://blog.csdn.net/u013257767/article/details/107640863
从Jenkins的官网看,是推荐使用docker的方式使用jenkins,但在公司环境中发现docker方式经常会有插件下载不下来的情况,因此使用的是war包的方式使用的。安装方式请看官网连接
配置allure
下载allure:https://github.com/allure-framework/allure2/releases
windows环境执行bin/allure.bat,在cmd中输入allure查看是否配置了命令:
pip安装pip install allure-pytest
第一步,生成测试报告数据
在py.test执行测试的时候,指定–alluredir选项及结果数据保存的目录:
$ py.test test/ --alluredir ./result/
./result/中保存了本次测试的结果数据。另外,还可以执行指定features或者stories执行一部分测试用例,比如执行”购物车功能“下的”加入购物车“子功能的测试用例:
$ py.test test/ --allure_features='购物车功能' --allure_stories='加入购物车'
第二步,生成测试报告页面
通过下面的命令将./result/目录下的测试数据生成测试报告页面:
$ allure generate ./result/ -o ./report/ --clean
–clean选项目的是先清空测试报告目录,再生成新的测试报告。
pytest编写用例
import util as util
from GetSession import DmpLogin
import allure, pytest, os
# 系统管理
class TestReport:
# @pytest.mark.parametrize("case,data,expected", list(list_params), ids=cases)
@allure.feature('报错slaveServer信息')
def test_save_settingdata(self):
test = DmpLogin()
post = test.post_api(
"/slaveServer/saveSlaveServer?name=kettle&hostName=127.0.0.1&port=8080&webAppName=&username=CeNTILgC6rOizgrFBjPCQQ%3D%3D&password=CeNTILgC6rOizgrFBjPCQQ%3D%3D&idSlave=&master=0",
data=None)
util.info(post)
assert (post['rtCode'] == '1' or post['rtCode'] == '1')
if __name__ == '__main__':
# 执行pytest单元测试,生成 Allure 报告需要的数据存在 /temp 目录
pytest.main(["test_setting.py", '--alluredir', './temp'])
# 执行命令 allure generate ./temp -o ./report --clean ,生成测试报告
os.system('allure generate ./temp -o ./report --clean')
jenkins+allure
jenkins安装allure插件
创建一个自由构建的item
在构建后操作里添加allure report
填写pytest的输出目录
进入项目即可看到报告入口,可以通过