pytest+allure+jenkins

 pytest+allure+jenkins - 持续集成平台生成allure报告

jenkins 的.war包安装方式在执行ui自动化时可以打开浏览器进行操作,其它安装方式在执行ui自动化时是无感的,只会输出结果,

 

pytest是什么

pytest是python的一款测试框架,拥有unittest的功能并比它更丰富。

 

allure是什么

有非常多的优秀的测试框架,但却是有非常少优秀的报告工具可以展示非常清楚的用例执行过程和结果。

allure是一款开源的,专门用来展示测试结果的工具,目的是希望团队内部每一个人都可以看到非常清楚的测试结果。

allure可以与非常多的著名测试框架做集成。

     像java语言,可以与junit4,junit5,TestNG测试框架集成。

     python语言,可以与pytest,behave,nose测试框架集成。

allure会将测试用例的执行数据保存到xml文件当中,再利用allure的命令行将文件转换成html形式呈现出来。

allure的官方地址:http://allure.qatools.ru/

 

 

安装allure命令行

官网提供了每个平台的,命令行安装方式。

以下是手动安装方式,适用于各平台:

1、从Maven Center下载最新的安装包:

http://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/

2、将包解压到任何一个目录。建议不要选C盘或者路径很深的。比如D:allure-command-2.12.1

3、跳转到解压后的bin目录下面,windows下执行allure.bat。其它平台执行allure.

4、配置allure的环境变量:

5、在命令行当中运行allure —version。

 

allure与pytest的集成

在allure安装完成之后,需要与pytest集成,能够在pytest运行完成之后,生成allure的文件 。

1、安装pytest的allure支撑插件。

pip命令行:pip install allure-pytest

2、在执行pytest命令时,添加allure命令参数:—alluredir=Outputs/allure (相对于pytest命令所在目录的测试报告目录)

1 if __name__ == '__main__':
2     pytest.main(["-s","-v","--html=Outputs/reports/pytest.html",
3                  "--alluredir=Outputs/allure"])   # allure文件生成的目录
             

 

3、等待pytest执行完所有的测试用例,在Outputs/allure下会生成一些文件。

在cmd命令行当中,执行:allure serve 测试结果文件目录,就会生成漂亮的html报告。

 

 

allure与jenkins的集成

allure与jenkins集成之后,可以直接在jenkins上,直接查看到上图的allure结果。

并因为jenkins的构建记录都存在,所以可以看到历史构建曲线图,用例数的变化、通过率的变化、耗时的变化等均可查看到。

集成步骤如下:

1、在jenkins上安装allure插件。

Step1: 去jenkins插件网站上下载allure插件最新版本:

http://mirrors.jenkins-ci.org/plugins/allure-jenkins-plugin/

Step2: 打开jenkins,在系统管理 —> 插件管理 —>Advanced —> Upload Plugin

上传.phi格式的插件,点击[上传]操作。

 

会自动跳转到以下页面。此处黄色球的提醒是指:此插件已经安装了,jenkins需要重启使此更新生效。

若是第一次安装,应该是蓝色球。

可将jenkins服务重新重启,使安装的插件生效。

 

 

2、在jenkins 全局工具当中配置allure命令行。

在 系统管理 —> 全局工具配置 —> 当中做以下配置(allure和jdk),配置完并保存:

 

 

 

3、在Job当中,配置allure报告展示:

 

 

针对以上,我对job做了以下调整:

1、将当前job的工作空间调整为,我的pytest用例所在工程目录:

1.1、有版本jenklins是  》高级》使用自定义的工作空间 》 目录

 

2、在build当中,直接执行1中目录下的python文件(包含了pytest生成allure报告的命令)

 

2.2 有报错提示:Python不是内部或外部命令,也不是可运行程序或批处理文件, 解决如下:

  1.在 Windows 提示符下运行是没有问题。

  2.把Jenkins项目配置中 python main.py   修改成python可执行文件全路径:D:Python35python.exe main.py ,再次构建也没有问题。

  这是因为 Jenkins 缺少环境配置。

  配置构建执行状态:

  1.回到 Jenkins 首页,点击 “构建执行状态”或“Build Executor Status” ,右则会列出本机信息。

  2.点击本机设置按钮,配置 Python 的 path 环境变量。同时还需要添加浏览器驱动文件所在目录。

  3.最后一定要记得保存哦。

 2.3若有报错:unknown error: cannot find Chrome binary、原因是找不到Chrome浏览器,缺少Chrome.exe环境变量配置。

  继续增加chrome路径就行

 

 

 

配置完成之后,立即构建此工程。连续构建几次,有了历史记录之后

 转载自:https://www.cnblogs.com/Simple-Small

<
原文地址:https://www.cnblogs.com/zcok168/p/13299067.html