1-测试 - Jenkins构建接口自动化脚本

about

centos7.4 + jenkins 2.263.1 + pytest + allure + github + Python3.6.8

本篇演示如何使用Jenkins来集成一个接口自动化脚本。
接口自动化脚本的GitHub地址:https://github.com/WZSwang/ATScripts.git

开始吧!

必要的环境配置

  1. Java环境
[root@cs ~]# java -version
openjdk version "1.8.0_275"
OpenJDK Runtime Environment (build 1.8.0_275-b01)
OpenJDK 64-Bit Server VM (build 25.275-b01, mixed mode)
[root@cs ~]# ls /usr/lib/jvm/java-openjdk/    # 记住这个Java home 后续会用到
ASSEMBLY_EXCEPTION  bin  include  jre  lib  LICENSE  tapset  THIRD_PARTY_README
  1. git:
[root@cs ~]# yum install git -y
[root@cs ~]# git --version
git version 1.8.3.1
[root@cs ~]# ls /usr/bin/git     # 记住这个路径, 后续也会用到
/usr/bin/git
  1. Jenkins安装,参考:rpm安装的Jenkins

Jenkins必要的配置

在正式构建一个freestyle的项目之前,还需要一些基本的配置和插件的安装。

Allure Commandline安装

参考:https://www.cnblogs.com/Neeo/articles/12767089.html#for-centos

Python环境配置

因为要跑的是Python的脚本,所以系统中还必须提前安装好了Python环境。
参考:https://www.cnblogs.com/Neeo/articles/12829625.html#centos-7
注意,记得要配置软链接,不然会出问题!

必要的插件下载

Manage Jenkins>Manage Plugins>Available,分别将allureEmail Extension Plugin这两个插件下载好。


这两个插件用来生成allure报告和发送邮件。

配置Java/git/Allure Commandline

Manage Jenkins>Global Tool Configuration下拉分别配置JDKGitAllure Commandline,最后配置完,别忘了点击ApplySave


Jenkins在构建时,会使用这些。

配置凭据

因为我们的接口自动化脚本托管在GitHub上,Jenkins在构建脚本时,会自动地去GitHub上拉取代码,这个过程中,需要凭据才能完成。
Manage Jenkins>Manage Credentials>Global credentials (unrestricted)


基本上,基础配置就先配置到这里。

测试各环境是否好使

注意,Jenkins默认情况下执行shell脚本是使用非登录方式,然而非登录方式不会加载/etc/profile文件,所以,有些程序虽然配置好了/etc/profile,但依然不能正常的调用,这时候就要考虑配置软链了。
构建一个freestyle的项目。来检验配置的环境是否好使。


关于项目的配置部分,常用的操作:

  • general,配置项目的描述信息,配置一些构建中的参数等等操作。
  • Source Code Management,源码管理,从哪拉取代码,配置凭据等。
  • Build Triggers,构建触发器,你的项目如何运行?
    • 执行一次?
    • 轮询执行?每天?每周?每月?参照Linux的定时任务配置。
  • Build Environment,构建环境,选择项目的构建环境,如ant。
  • Build,构建,如何执行项目?shell命令?Windows终端命令?
  • Post-build Actions,构建后的操作,当项目完毕后,要做什么?生成相关报告?发送邮件?
    这里我们先对配置环境进行检测,所以,直接选择Build选项,由于是在Linux环境下构建项目,所以,选择执行shell。

    在项目视图下,点击Build Now


    现在,可以正式开搞了!

关于接口自动化脚本的配置

通过之前的配置和测试,确定了环境没有问题,现在可以针对接口自动化脚本进行配置了。
还是AT项目,在项目视图下,选择Configure进行配置。

General

因为这个接口自动化脚本执行完毕要生成allure报告,这里要选择参数构建过程。
General部分我们提前配置好用到参数。

Source Code Management

在源码管理中,配置以git的形式拉取代码。

Build Triggers

略过

Build Environment

略过

Build

其中:

  • -v表示输出详细的执行信息。
  • --alluredir $ALLURE_RESULTS表示在pytest执行完毕后,将allure需要的json文件生成到$ALLURE_RESULTS指向的目录内。

Post-build Actions

构建完成后,配置

现在,就可以保存尝试构建一波了!

构建

项目视图下,选择Build with Parameters,进行构建,然后查看控制台输出。

配置邮件

参考:https://www.cnblogs.com/Neeo/articles/12805815.html
当你整体配置完毕后,然后根据控制台输出,排查一些错误,就得到了这样一个allure报告:

感觉也还行,其他的数据也都有了。但是还有一些小瑕疵。我们往下看。

问题和优化

现在如果你的allure报告的Overview页面,缺少环境信息等,你可能需要做些别的操作。

配置环境信息

如下图,缺少一些环境信息。

想要添加一些环境信息,只需要在你的allure-results目录下创建environment.properties或者environment.xml文件,将环境信息写道文件中。
environment.properties

Browser=Chrome
Browser.Version=63.0
Stand=Production

environment.xml:

<environment>
    <parameter>
        <key>Browser</key>
        <value>Chrome</value>
    </parameter>
    <parameter>
        <key>Browser.Version</key>
        <value>63.0</value>
    </parameter>
    <parameter>
        <key>Stand</key>
        <value>Production</value>
    </parameter>
</environment>

然后重新构建项目就可以了。
现在,就有了:

参考:https://docs.qameta.io/allure/#_environment
当然,你也可以在构建过程中,使用命令来完成。
项目配置中的Build中:

#!/bin/bash

# 下载依赖模块
pip3 install -i https://pypi.doubanio.com/simple/ -r requirements.txt

# 使用pytest执行脚本
python3 -m pytest -v --alluredir $ALLURE_RESULTS

# 就下面两行,将依赖库导出到environment.properties中,然后稍作替换就好了
pip3 freeze > $ALLURE_RESULTS/environment.properties
sed -i 's/==/=/g' $ALLURE_RESULTS/environment.properties


欢迎斧正,that's all,see also:

Jenkins - 构建Allure Report | 配置Jenkins邮件通知 | Jenkins+Pytest+Allure 集成测试环境 | jenkins配置邮件及增强版邮件通知 | jenkins 构建脚本标记为failure | (三)jenkins·统一配置 JDK、Maven、Git 等安装位置

posted @ 2020-12-21 16:08  听雨危楼  阅读(2013)  评论(0编辑  收藏  举报