热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Ant+JMeter+Jenkins接口自动化平台搭建

Ant+JMeter+Jenkins接口自动化平台搭建 参考资料::https:www.cnblogs.comdwdwp10096136.html 一、ANT下载安装(鉴于已经安装

Ant+JMeter+Jenkins接口自动化平台搭建
 

参考资料::

https://www.cnblogs.com/dwdw/p/10096136.html

 

一、ANT下载安装(鉴于已经安装了JDK1.8,就不讲解如何安装jdk了)

1.下载

下载地址:https://archive.apache.org/dist/ant/binaries/

官网下载地址:https://ant.apache.org/bindownload.cgi


注意版本信息,下载是要根据jdk版本来下载对应ant

  1.10.2 .zip archive  对应jdk8


  1.9.10 .zip archive  对应jdk7

我这里使用的是jdk1.8,故可以使用1.10.x版本,这里下载的是apache-ant-1.10.9

 

2.安装(解压即可,不需安装具体执行文件)

下载完成后解压,然后配置ant环境变量

 3. 配置系统变量

  1.新增ANT_HOME变量:D:\apache-ant-1.10.9-bin\apache-ant-1.10.9

  2.path变量添加:%ANT_HOME%\bin

 path后添加或新增:%ANT_HOME%\bin,我这里是win10,在path变量里加上变量即可,添加好之后点击确定,确定,确定

 验证是否安装成功:

 打开cmd窗口,输入:ant -v,展示出ant版本号则表示ant安装成功

 

二、配置JMeter+Ant

1.将JMeter所在目录下extras子目录里的ant-JMeter-1.1.1.jar复制到Ant所在目录lib子目录下

 

 2.创建ant执行目录

创建如下文件目录:

 jmeter_test(主目录文件)

    result_log(测试报告及日志)

      html(测试报告生成目录)

      jtl(存放jtl文件的目录)

    script(存放jmeter的jmx文件)

    build.xml(核心配置文件)

创建完成后,目录结构如下图:

 

 3.在jmeter中完成项目的接口脚本,调试成功,保存到上面的scipt目录。

 

 

 将调试好的脚本放入ant执行目录的script目录下,如下图:

 

 

 4.创建ant的执行文件build.xml

  build.xml文件内容如下:










1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55

"1.0" encoding="UTF-8" ?>

"jmeter_test" default="all" basedir=".">
    
        "time" pattern="yyyyMMddhhmm" />
    
    
    

"jmeter.home" value="D:\apache-jmeter-5.2.1" />
    
    

"jmeter.result.jtl.dir" value="D:\jmeter_test\result_log\jtl" />
    
    

"jmeter.result.html.dir" value="D:\jmeter_test\result_log\html" />
    
    

"ReportName" value="接口测试测试报告" />
    
    

"jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
    

"jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />
  
    
    

"xslt.classpath">
        "${jmeter.home}/lib" includes="xalan-2.7.2.jar"/>
        "${jmeter.home}/lib" includes="serializer-2.7.2.jar"/>
    
     
  
    "all">
        "test" />
        "report" />
       
    

  
    "test">
        "jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
        "${jmeter.home}" resultlog="${jmeter.result.jtlName}">
            
            "D:\jmeter_test\script" includes="*.jmx" />
        

    

  
    "report">
        
         "report.datestamp" pattern="yyyy/MM/dd HH:mm" />
        
        in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" csharp string">"${jmeter.home}\extras\jmeter-results-detail-report_21.xsl" >
            

"dateReport" expression="${report.datestamp}" />
        
        
        "${jmeter.result.html.dir}">
            "${jmeter.home}/extras">
                "${collapse.png}" />
                "${expand.png}" />
            

        

    
  

  

 5.修改JMeter参数

 打开JMeter->bin下的jmeter.properties文件,修改配置jmeter.save.saveservice.output_format的值为xml,记得去掉前面的#,然后保存

 

 三、执行测试

  打开cmd,定位到jmeter_test目录,执行ant命令,提示BUILD SUCCESSFUL则表示执行成功

 

 

四、查看执行结果

   打开jmeter_test->result_log->html目录,用浏览器打开html文件

 

  执行结果如下图:

 

 

 五、 安装Jenkins

1.下载jenkins

下载好jenkins安装包

jenkins下载地:https://jenkins.io/

下载完成后如下图,然后双击安装即可,安装过程中有让输入端口号,需要记录好,后续在浏览器中访问jenkins时需要用到

 

 jenkins安装包下载地址:

链接:https://pan.baidu.com/s/1unk1wiHLw6AfqQ93zCc_kw 
提取码:tlpi 

2.安装Jenkins

  双击第一步的msi文件,傻瓜式安装即可(安装时需要输入端口,因8080端口容易被占用,故此处改成8081)

 

3.校验是否安装成功

 安装完成后在浏览器输入:localhost:8081,显示如下图,则表示安装成功

六、集成JMeter和Ant到Jenkins

  1.配置JDK和ANT

 

 

 

 

 

 

 

 

 点击保存后,再进入界面点击应用

2.配置邮件通知

 

 

 

 

 

 3.新建Item

 

 

 

 

 

 

 构建触发器

 

Build after other projects are built:在其他项目构建完成后才执行构建:指定的项目完成构建后,触发此项目的构建。

Poll SCM :这是CI 系统中常见的选项。当您选择此选项,您可以指定一个定时作业表达式来定义Jenkins每隔多久检查一下您源代码仓库的变化。如果发现变化,就执行一次构建。例如,表达式中填写0,15,30,45 * * * *将使Jenkins每隔15分钟就检查一次您源码仓库的变化。

Build periodically :此选项仅仅通知Jenkins按指定的频率对项目进行构建,而不管SCM是否有变化。如果想在这个Job中运行一些测试用例的话,它就很有帮助。

 

 4.增加构建步骤,ant执行命令

 

 

 5.配置构建后发送邮件 

 6.运行Item

 回到Jenkins面板,点击项目后的运行按钮,运行

 

 

  

遇到的问题:

问题1:提示前言中不允许有内容

BUILD FAILED
D:\jmeter_test\build.xml:26: The following error occurred while executing this line:
D:\jmeter_test\build.xml:42: javax.xml.transform.TransformerException: javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: 前言中不允许有内容。

 

report:
[xslt] Processing D:\jmeter_test\result_log\jtl\接口测试测试报告202101201144.jtl to D:\jmeter_test\result_log\html\接口测试测试报告202101201144.html
[xslt] Loading stylesheet D:\apache-jmeter-5.2.1\apache-jmeter-5.2.1\extras\jmeter-results-detail-report_21.xsl
[xslt] : Error! 前言中不允许有内容。
[xslt] : Error! com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: 前言中不允许有内容。
[xslt] Failed to process D:\jmeter_test\result_log\jtl\接口测试测试报告202101201144.jtl

BUILD FAILED
D:\jmeter_test\build.xml:26: The following error occurred while executing this line:
D:\jmeter_test\build.xml:42: javax.xml.transform.TransformerException: javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: 前言中不允许有内容。
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:740)

org.xml.sax.SAXParseException; systemId: file:/D:/jmeter_test/result_log/jtl/%E6%8E%A5%E5%8F%A3%E6%B5%8B%E8%AF%95%E6%B5%8B%E8%AF%95%E6%8A%A5%E5%91%8A202101201144.jtl; lineNumber: 1; columnNumber: 1; 前言中不允许有内容。

 解决办法:修改jmeter.properties文件中jmeter.save.saveservice.output_format的值为xml,并去掉前面的#,保存后重新执行ant命令

 

问题2:在Jenkins中执行项目时提示找不到build.xml

 解决办法:修改项目->配置->构建->invoke ant,将Tagets修改为all,点开高级,Build File输入build.xml的路径,然后保存再执行

 

 

 

 问题3:每天定时执行,如果需要设置成每天早上7点执行一次,则触发器的日程表设置成:0 7 * * *,然后应用保存

 

 



推荐阅读
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • MyBatis错题分析解析及注意事项
    本文对MyBatis的错题进行了分析和解析,同时介绍了使用MyBatis时需要注意的一些事项,如resultMap的使用、SqlSession和SqlSessionFactory的获取方式、动态SQL中的else元素和when元素的使用、resource属性和url属性的配置方式、typeAliases的使用方法等。同时还指出了在属性名与查询字段名不一致时需要使用resultMap进行结果映射,而不能使用resultType。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
author-avatar
灬猎丶豹灬_511
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有