Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版

利用Jenkins+ant+jmeter实现日常工作接口自动化持续集成。

所有环境依赖JDK,所以第一步我们必须先安装配置好JDK环境。JDK下载安装配置教程

然后我们开始正式搭建:

1.搭建jmeter环境:我本地上已经搭建好,如果不会的可以自行百度一下jmeter的安装教程。有很多,讲解的也很清晰明了。jmeter的下载地址

2.搭建ant环境:Ant和maven类似,maven是执行pom文件,ant是执行build文件。点击下载ant

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第1张图片

解压

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第2张图片

3.配置ant环境变量:参考百度,这里环境不是重点,不细解,进入命令行模式输入ant -version能够显示版本号说明配置成功

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第3张图片

 4.搭建Jenkins环境,点击下载jenkins.war

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第4张图片

 注:这里需要注意一下,Jenkins第一可以依赖容器Tomcat,也可以依赖自带的 Jetty 服务器独立运行。第一种方法:如果您电脑上有配置好的Tomcat环境,将下载的jenkins.war拷贝到apache-tomcat-8.0.28\的webapps目录下,然后进入到Tomcat的bin目录下,点击startup.bat启动Tomcat。在浏览器中输入http://127.0.0.1:8080/jenkins访问。如果端口号被占用,可以通过修改Tomcat的端口号来实现。这里不细讲,有不懂的可以留言或者添加QQ群、微信。第二种方法:我电脑上有Tomcat,但是我这里为了教大家最简单的方法,我说一下第二种。直接使用命令启动。Win+R运行进入cmd模式,cd进入到jenkins.war目录,输入命令java -jar jenkins.war --httpPort=8888,8888可以改成一个没有被占用的你想用的端口号。然后在浏览器中输入http://127.0.0.1:8888进行访问。

5.使用jmeter创建一个测试脚本test01.jmx,具体步骤如下:

①进入jmeter安装目录,例如D:\JMeter\apache-jmeter-5.1.1\下的bin目录下,然后找到jmeter.bat启动jmeter,然后添加线程用户-线程组

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第5张图片

②右键线程组,添加取样器-http请求

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第6张图片

③http中我们随便写点,比如就写请求百度

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第7张图片

④添加察看结果树

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第8张图片

⑤点击运行,这时候提示我们是否保存,我们在jmeter安装目录D:\JMeter\apache-jmeter-5.1.1\下创建文件夹temp_test

然后选择将脚本存放到创建的temp_test目录下。

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第9张图片

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第10张图片

6.将jmeter安装路径下的D:\JMeter\apache-jmeter-5.1.1\extras的ant-jmeter-1.1.1.jar文件拷贝到ant安装目录D:\JD.com\JmeterScript\apache-ant-1.9.14-bin\apache-ant-1.9.14\下的lib下。这样Ant运行时才能找到"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"这个类,从而成功触发JMeter脚本

7.在temp_test下创建文件夹report

8.将D:\JMeter\apache-jmeter-5.1.1\extras下的build.xml文件拷贝到temp_test中,将build.xml中的内容全部删除后,修改为以下内容(运行.jmx脚本,生成.jtl文件放入C:\Users\songlihui\.jenkins\workspace\xtl_jcyf_接口自动化回归测试/report/jtl文件中,ant在将相应的文件转换为对应的.html文件放入C:\Users\songlihui\.jenkins\workspace\xtl_jcyf_接口自动化回归测试/report/html中)。

  
  
 
      
        
		        
     
      
    
        
      
      
      
      
    
         
    
       
      
    
    

    
        
        
    
	
      
          
          
              
            
            
                        
          
      
    
             
        
    
    
       
    
        
              
                            
        
        
              
                            
        
          
          
              
				  
                  
              
          
          
  

将里面注释需要改的地方,改成自己本地真实的路径。 这样我们的环境就全部准备好啦~

最后,我们开始配置我们的Jenkins项目环境

1.cd进入到jenkins.war目录,输入命令java -jar jenkins.war --httpPort=8888。端口号8888可以任意改成你想要的,只要是未被其他进程占用的。不过这种启动方式有一个弊端,就是每次启动都需要指定端口号,我们可以通过修改Jenkins安装目录jenkins\jenkins.xml文件修改第41行httpPort为8082(你想要的,未被其他进程占用的),此时如果直接使用命令java -jar jenkins.war,会发现启动的jenkins服务还是用的默认端口8080,并未按修改的jenkins.xml中的端口号进行启动。正确的启动方式是:net start jenkins。。。初次访问http://localhost:8888/,如果发现一直卡在启动界面,提示:Jenkins正在启动,请稍后...

你可以按 Ctrl + C 强制结束启动,然后再次执行上面的命令,发现就会继续启动了,或者可以修改一下配置文件,因为你所在网络可能被限制了,如下:

进入 jenkins 的工作目录,也可以自定义 jenkins 的工作目录,设置 JENKINS_HOME 环境变量,启动 jenkins.war 后将被解压到 JENKINS_HOME 目录下,同时所有 jenkins 的 plugins 和 配置文件等也将被写入到 JENKINS_HOME 所设置的目录下。

打开 hudson.model.UpdateCenter.xml,将 http://updates.jenkins-ci.org/update-center.json 替换成 http://mirror.xmission.com/jenkins/updates/update-center.json,还是不行的话找到 updates 目录下的 default.json 把里面所有的谷歌地址改成百度的,即将 http://www.google.com/ 替换为 http://www.baidu.com/。

待出现如下界面。然后我们进入红色的地址,使用txt文本打开该文件

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第11张图片

点击下一步继续,进入插件安装,默认继续到下面页面,开始安装 

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第12张图片 安装完毕,进入初始化用户名密码页

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第13张图片

 然后使用注册的用户名密码登录

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第14张图片

给任务起一个名字,点击确定 

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第15张图片

 其他的保持默认就好,我们在构建中选择invoke ant,然后选择高级

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第16张图片

查看我们的build.xml文件, 找到target name,发现我们的target名叫“run”,将这个填写到targets里

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第17张图片

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第18张图片

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第19张图片

点击保存,返回到如下页面,这时候我们点击左侧列表中的build now

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第20张图片

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第21张图片

然后我们返回到build.xml文件,查看是不是哪里写的不对,然后发现需要改的地方没有改成自己的。

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第22张图片修改为我们自己创建的路径:

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第23张图片

 然后最后别忘记保存,我们保存我们最新的对build.xml文件的更改,然后继续返回Jenkins中点击,build now,发现又构建失败了

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第24张图片

然后我们点击#2,进去后选择控制台输出,查看一下日志吧

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第25张图片

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第26张图片

发现哦,原来是build.xml文件中出现了--,

继续打开build.xml文件

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第27张图片

去掉后的

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第28张图片

然后保存我们对build.xml文件的修改,然后返回Jenkins,我们继续build now

出现问题不要怕,一步一步的找,这次我们发现成功了,变为蓝色了

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第29张图片

完事了吗???显然还没有,别忘记我们当时在我们的temp_test下创建了一个report文件夹,这个是做什么用??当然是生成我们的测试报告咯~~,然后我们进入D:\JMeter\apache-jmeter-5.1.1\temp_test\report下的html中赶紧看一下吧。

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第30张图片

扩展: 

1.生成的报告中展示细节,如请求的URL、参数、header、返回的header、body等等。例如下图

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第31张图片

那我们需要怎么做呢?细心的童鞋可能发现了,在我们的build.xml文件中,我们设置生成了两个报告,一个是SummaryReport,另一个是DetailsReport。summary肯定是一个整体的报告情况,而detail不用说,是更详细的详情。这时候我们就需要用到一个文件jmeter.results.shanhe.me.xsl。在jmeter默认下载安装后,这个文件是没有的。需要单独下载,有好多地址的下载都是受限的,这里给大家找一个可以直接下载的博客地址:jmeter.results.shanhe.me.xsl。下载完成后,把这个文件放到jmeter安装目录下的extra下:

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第32张图片

修改我们的build.xml文件

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第33张图片

然后重新build now构建一下,去生成报告的地方打开DetailsReport.html,可以看到现在的报告中显示了非常详细的详情。

2.我们在查看报告的时候,发现里面的数据是累加的。比如我们执行了1次构建,生成了报告。又执行了一次,打开报告是第一次+第二次构建执行的脚本情况总和。如果我们只需要打开将最新的执行情况展现,需要怎么做呢?继续打开我们的build.xml文件

需要修改的地方我都框出来了

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第34张图片

中间部分代码有点多,我贴到下面。


  
  
  	
  		
          	
          
  	
  
      
          
              
          
      
          
  

 修改好后,保存build.xml,继续构建。这时候在生成报告前,会先将jtl、html两个文件夹下的内容删除,从而每次生成的报告文件中只有最新一次构建,而不是累加叠加。

3.修改发送报告的样式

    
    
    
    
${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志    
    
    
    
        
            本邮件由系统自动发出,无需回复!
各位同事,大家好,以下为${PROJECT_NAME }项目构建信息
构建结果 - ${BUILD_STATUS}

构建信息

失败用例


$FAILED_TESTS

最近提交(#$SVN_REVISION)


    ${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="
  • %d [%a] %m
  • "}
详细提交: ${PROJECT_URL}changes

Jenkins+ant+jmeter 搭建接口自动化持续集成环境 框架——完整实用版_第35张图片

 4.这时候前几次的构建报告我们就看不到了,如果还希望看到前几次的怎么办呢?

5.所有的工作做完了,我们想每次测试完成,生成报告,并通过邮箱将测试报告发送给领导和同事们?

后续内容会在空余的时间一点点补充,如果感觉博文的分享能给大家带来提升或者难题的解答,欢迎点赞评论。欢迎添加我的微信,相互学习探讨~1305618688,qq交流群:849102042

你可能感兴趣的:(搭建自动化持续集成环境)