您的位置:首页 > 其它

pytest+allure+SVN+jenkins环境部署

2017-07-25 22:01 337 查看

pytest+allure+SVN+jenkins环境部署

有网络的情况下可利用pycharm的自动安装包的功能

具体流程为:

- file -> settings -> Project:* -> Project Interpreter 首先安装pip和setups(python库的在线安装工具),未安装时进入该界面,界面的左下角会提示安装,鼠标点击就会自动安装

- 点击右上角的“+”号,在搜索框中输入pytest-allure-adaptor,点击搜索结果,在界面下方即可选择对应版本安装,具体界面如下图



- 注意事项:安装pytest-allure-adaptor时会自动安装所需的依赖库,但是lxml库会安装失败,在安装pytest-allure-adaptor前需要先安装对应的lxml版本。若python版本为,windows32 的python2.7,对应的lxml为lxml-3.8.0.win32-py2.7.exe

- 安装对应库后,对应的工程中的第三方库列表如下:



jenkins+allure插件的安装及工程配置

jenkins -> 系统管理 -> 插件管理 -> 可选插件中过滤Allure Jenkins Plugin,勾选对应插件安装

如下图:



安装成功后可在已安装中看到对应的插件及版本信息



安装完插件后,继续在jenkins->系统设置-># Global Tool Configuration中安装Allure Commandline,该安装会在工程构建时联网下载安装

如下图:



jenkins工程配置

1)新建 -> 构建一个自由风格的软件项目



2)进入工程配置->选择构建后操作

注意:工程构建的操作请确保,allure生成的报告的xml原始数据文件,与构建后操作中的allure report的path中的目录一致,否则将一直报Build step ‘Allure Report’ marked build as failure

如下图



jenkins+SVN插件安装及工程配置

jenkins -> 系统管理 -> 插件管理 -> 可选插件中过滤Subversion Plug-in,勾选对应插件安装

进入工程配置->进入源码管理,选择subversion,相关配置项如下图



jenkins构建触发器的使用,自动构建工程

进入工程配置->构建触发器中,如下图



说明:

Poll SCM:定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作。如下图配置:

H/5 * * * * (每5分钟检查一次源码变化)

Build periodically: 周期进行项目构建(它不关心源码是否发生变化),如下图配置:

H 2 * * * * (每天2:00必须b
ab94
uild一次源码)

在Schedule中填写0 * * * *

第一个参数代表的是分钟minute,取值0-59

第二个参数代表小时hour, 取值0-23

第三个参数代表的是天day, 取值为1-31

第四个参数代表的是月month, 取值1-12

最后一个参数代表的是星期week, 取值0-7, o和7都是表示星期天

so 0 * * * * 表示的就是每小时的第0分钟执行构建

踩过的坑

1)安装allure之前记得一定要先安装相应版本的lxml,否则allure库将一直安装失败

2)在线安装时,直接安装pytest-allure-adaptor库,安装过程中会自动安装pytest,不要再去安装pytest或allure,否则allure生成的xml文件将在jenkins中生成html报告失败

3)java JDK的环境最好是1.8版本以上,环境变量的java环境必须配置正确,否则在生成allure报告时,很可能出现如下错误:

Started by user 1

Building in workspace C:\Users\Administrator.jenkins\workspace\333

[333] $ cmd /c call C:\Users\ADMINI~1\AppData\Local\Temp\jenkins3814725961333306328.bat

C:\Users\Administrator\.jenkins\workspace\333>exit 0
[333] $ C:\Users\Administrator\.jenkins\tools\ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation\allurecommand\bin\allure.bat generate C:\Users\Administrator\.jenkins\workspace\333\allure-results -o C:\Users\Administrator\.jenkins\workspace\333\allure-report
java.lang.UnsupportedClassVersionError: io/qameta/allure/CommandLine : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: io.qameta.allure.CommandLine.  Program will exit.
Exception in thread "main" ERROR: Build step failed with exception
ru.yandex.qatools.allure.jenkins.exception.AllurePluginException: Can not generate Allure Report, exit code: 1
at ru.yandex.qatools.allure.jenkins.AllureReportPublisher.generateReport(AllureReportPublisher.java:173)
at ru.yandex.qatools.allure.jenkins.AllureReportPublisher.perform(AllureReportPublisher.java:94)
at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:81)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:730)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:676)
at hudson.model.Build$BuildExecution.post2(Build.java:186)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:621)
at hudson.model.Run.execute(Run.java:1760)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:415)
Build step 'Allure Report' marked build as failure
Finished: FAILURE
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: