pytest+allure+SVN+jenkins环境部署

来源:互联网 发布:17年mac口红最火色号 编辑:程序博客网 时间:2024/06/05 17:26

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必须build一次源码)

    在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-reportjava.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 exceptionru.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 failureFinished: FAILURE
原创粉丝点击