一篇文字就能学会的docker + jenkins+ant+jmeter+git 持续集成接口自动化测试-(linux环境)

docker + Jenkins+JMeter持续集成接口自动化

一 . Linux环境安装docker

安装过程跳转该页面:centos7 安装docker

二 . docker 安装jenkins

安装过程跳转该页面:docker 安装 jenkins

三 . jenkins容器 安装 git ,jdk

1. 直接进入jenkins 系统管理 - 全局工具配置 直接安装

在这里插入图片描述在这里插入图片描述
2. 进入jenkins容器中查询 jdk 和 git 路径进行配置
jdk :然后通过echo $JAVA_HOME来查看 java 路径在/usr/local中,然后配置进 jenkins 的 JAVA_HOME 中即可

git 通过which git查看 git 执行文件路径为/usr/bin/git,把这个复制到 jenkins 路径中
在这里插入图片描述在这里插入图片描述

三 . jenkins容器 安装 jmeter,ant

1. 将 jmeter和 ant 压缩包移动到 Linux环境中

jmeter下载地址:http://jmeter.apache.org/download_jmeter.cgi
ant下载地址:https://ant.apache.org/bindownload.cgi
在这里插入图片描述

2. 使用 cp 复制命令 放到docker容器内某个目录
jenkins 容器命名为 jenkins,将压缩包放到容器内部 data目录下,在进入容器内部解压
docker cp /data/apache-jmeter-5.2.1.zip jenkins:/data   
docker cp /data/apache-ant-1.9.16-bin.zip jenkins:/data
unzip apache-jmeter-5.2.1.zip    # 解压到当前文件
unzip apache-ant-1.9.16-bin.zip  # 解压到当前文件
在进行配置系统环境变量
 vi /etc/profile  
在文件末尾增加地址
jmeter 环境变量
export JMETER=/data/apache-jmeter-5.2.1
export PATH=$JMETER/bin:$PATH 
ant 环境变量 
export Ant=/data/apache-ant-1.9.16
export PATH=$Ant/bin:$PATH
进行保存,在刷新系统环境变量
source /etc/profile 
在给jmeter和ant bin目录给予最高权限
chmod 777 apache-ant-1.9.16
chmod 777 apache-jmeter-5.2.1

在验证jmeter是否配置成功

输入: jmeter -v

在这里插入图片描述

ant -version

在这里插入图片描述

3. 将 apache-jmeter-5.2.1/extras文件夹下的ant-jmeter-1.1.1.jar文件拷贝到apache-ant-1.9.16/lib路径下

注意:为啥需要将jar包放到ant/lib中,ant运行时才能找到
"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"这个类,之后可以触发Jmeter脚本

cp /data/apache-jmeter-5.2.1/extras/ant-jmeter-1.1.1.jar  /data/ant-1.9.16/lib
4.jmeter结果文件默认保存的是.csv格式的文件,因为后面要生成html,所以要修改下默认配 置,修改文件“apache-jmeter-5.2.1\bin\jmeter.properties”,设置:jmeter.save.saveservice.output_format=xml

在这里插入图片描述

5. 为了让html报告内容显示更好看,进入apache-jmeter-5.2.1\bin\jmeter.properties,将所有saveservice有关文件,将false改成true,并去掉注释

在这里插入图片描述

三 . jenkins 运行 jmeter脚本

1. 使用jenkins创建一个 job 工作目录

在这里插入图片描述

2. 使用jenkins 中 Git 拉取 jmeter中代码 ,配置完成后,点击构建,在jenkins工作空间查看拉取的脚本,会将脚本放到jenkins容器文件中,

在这里插入图片描述
在这里插入图片描述
注意:怎么看脚本放在那个位置中,可以看构建运行存放的地址
在这里插入图片描述

四 . jenkins 使用 ant运行 jmeter脚本,需要编写个build.xml 进行运行

1. jmeter 脚本目录格式
  1. 创建个 report 目录, 在这个目录在创建个 html文件夹 存放 脚本运行报告,在创建 jtl,脚本运行的结果
  2. 创建个test 目录,存放 jmeter脚本
  3. 创建个 lib目录,将jmeter脚本 新增加的 jar包存放进去,也可以将 本地jmeter中lib 复制过来
  4. 创建个 csv目录,存放 jmeter脚本 运行的参数化,比如 csv等
  5. 创建个build.xml文件,用于ant 直接运行
    在这里插入图片描述
2. build.xml 文件
<?xml version="1.0" encoding="utf-8"?>
<!--Project为整个量的根目录;name随便写,可自行更改;default默认执行什么任务,下面有个target name = "all";basedir为.代表当前目录-- 需要改到当前jenkins运行目录>
<project name="jmeter_test" default="run" basedir="."> 
    <tstamp>
        <!-- 这里是加入了年月日时分秒,用来加在报告的后缀上-->
        <format property="time" pattern="yyyyMMddhhmmss"/>
    </tstamp>
    <!-- 需要改成自己本地的 Jmeter 目录,写到bin目录的上一步就可以-->
    <property name="jmeter.home" value="/var/jenkins_home/jmeter/apache-jmeter-5.2.1" />
    <!-- jmeter生成jtl格式的结果报告的路径-->
    <property name="jmeter.result.jtl.dir" value="/var/jenkins_home/workspace/**/report/jtl" />
    <!-- jmeter生成html格式的结果报告的路径-->
    <property name="jmeter.result.html.dir" value="/var/jenkins_home/workspace/**/report/html" />

    <!-- 生成的报告的前缀ReportName的value可以自定义值,下面的jtl和html的名字是用变量来的也不需要改 -->
    <property name="ReportName" value="alen" />
    <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}-${time}-report.jtl" />
    <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}-${time}-report.html" />
    
    <!-- 对应到上面的,run,下面调用了两个:test和report-->
    <target name="run">
        <antcall target="test" />
        <antcall target="report" />
    </target>
    <!-- 对应到上面的target为test -->
    <target name="test">
        <taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
        <jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}" >
            <!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本,脚本要执行某一个就写死哪个 -->
            <testplans dir="/var/jenkins_home/workspace/**/test" includes="*.jmx" />
            <property name="jmeter.save.saveservice.output_format" value="xml"/>
        </jmeter>
    </target>
	<path id="xslt.classpath">
        <fileset dir="${jmeter.home}/lib" includes="xalan*.jar" />
        <fileset dir="${jmeter.home}/lib" includes="serializer*.jar" />
    </path>

    <!-- 对应到上面的target为report -->
    <target name="report">
        <tstamp><format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp>
        <xslt classpathref="xslt.classpath"  
             force="true"  
             in="${jmeter.result.jtlName}"  
             out="${jmeter.result.htmlName}"  
             style="/var/jenkins_home/jmeter/apache-jmeter-5.2.1/extras/jmeter.results.shanhe.me.xsl" >  
             <param name="dateReport" expression="${report.datestamp}" />  
       </xslt> 
        <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
        <copy todir="${jmeter.result.html.dir}">
            <fileset dir="${jmeter.home}/extras">
                <include name="collapse.png" />
                <include name="expand.png" />
            </fileset>
        </copy>
    </target>

</project>

五 . jenkins 使用 ant运行 jmeter脚本

  1. 配置每天早上8点运行,需要想要几点可以搜索下
    在这里插入图片描述
  2. 使用ant 运行脚本
    在这里插入图片描述
    3.脚本运行后,需要报告显示 ,先安装插件,
    1.HTML测试报告展示的插件:HTML Publisher Plugin、Performance plugin , Groovy
    HTML Publisher Plugin下载(为了方便在jenkins中查看html测试报告):
    Performance plugin下载(根据测试工具获取性能KPIs)
    Groovy 下载 (jenkins打开HMTl测试报告样式丢失,未加载JS和CSS问题,在 Groovy Script
    输入 System.setProperty(“hudson.model.DirectoryBrowserSupport.CSP”, “”) 解决css问题
    在这里插入图片描述
    4.设置运行报告生成位置
    在这里插入图片描述

5.在立即构建,点击html就可以查看报告
在这里插入图片描述

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
搭建一个接口自动化测试框架可以使用以下工具和技术: 1. Python:作为主要开发语言,可以使用Python来编写测试脚本和测试用例。 2. Pytest:一款功能强大的Python测试框架,可以用于编写和运行测试用例,并提供丰富的断言和报告功能。 3. Allure:一个开源的测试报告生成工具,可以生成美观且易于理解的测试报告,支持多种语言和框架。 4. Git:版本控制工具,用于管理和同步测试代码。 5. Jenkins:一个持续集成和持续交付工具,可以自动化运行测试用例并生成测试报告。 6. Docker:容器化平台,可以用于创建和管理测试环境,提供一致的运行环境。 下面是搭建接口自动化测试框架的步骤: Step 1: 创建项目结构 在本地创建一个目录作为项目根目录,然后在根目录下创建以下子目录: - `tests`:存放测试脚本和测试用例; - `reports`:存放测试报告; - `config`:存放配置文件; - `utils`:存放一些工具类和函数。 Step 2: 编写测试用例 在`tests`目录下编写测试脚本和测试用例。可以使用Pytest来组织和执行测试用例,使用断言来验证测试结果。 Step 3: 配置Allure报告 在`config`目录下创建一个`pytest.ini`文件,配置Allure报告的相关参数,例如报告保存路径、报告标题等。 Step 4: 运行测试用例 使用Pytest运行测试用例,并生成Allure报告。可以使用命令行或者集成到Jenkins中进行自动化执行。 Step 5: 集成GitJenkins 将项目代码托管到Git仓库中,并在Jenkins中配置相关任务,使其在代码提交后自动触发测试用例的运行和报告的生成。 Step 6: 创建Docker镜像(可选) 使用Docker将测试环境打包成镜像,方便部署和维护。 一些可能出现的问题和解决方法: 1. 安装依赖:在搭建过程中,可能会遇到安装依赖包的问题。可以使用pip来安装所需的Python包,并注意版本兼容性。 2. 配置问题:在配置Allure和Jenkins时,可能会遇到配置不正确或缺少必要参数的问题。可以参考官方文档或者搜索解决方案来解决这些问题。 3. 报告生成失败:如果生成Allure报告失败,可以检查相关依赖是否安装正确,以及路径和权限是否设置正确。 4. 测试环境问题:如果测试用例在不同环境中运行时出现问题,可以考虑使用Docker来创建一致的测试环境,或者在测试用例中添加环境适配代码。 相关问题: 1. 除了Allure,还有哪些常用的测试报告生成工具? 2. 如何在Pytest中使用断言来验证测试结果? 3. 如何在Jenkins中配置任务来触发自动化测试? 4. 除了接口自动化测试,还有哪些类型的自动化测试可以使用Python实现?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值