jmeter(49)-jenkins+ant+jmeter持续集成接口自动化测试-(linux环境)

原理学习:

持续集成
持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成次,也
就意味着每天可能会发生多次集成每次集成都通过自动化的构建(包括编译,发布,自动化测试来验证,从
而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。
Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:持续的软件版本发布/
测试项目,监控外部调用执行的工作。
项目构建
通过构建工具对多个项目文件进行统批量的编译和运行。 比如,对多个Jmeter脚本批量运行。
Apache Ant.是一个将软件编译、 测试部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境
中的软件开发。

Jmeter Ant xml 配置文件
1.Ant关键元素
Ant的构件文件是基于XML编写的,默认名称为build.xml
project元素是Ant构件文件的根元素,Ant构件文件至少应该包含一个project元素,否则会发生错误。在每
个project元素下,可包含多个target元素。接下来熟悉project元素的各属性。
1) name属性
用于指定project元素的名称。
2 ) default属性
用于指定project默认执行时所执行的target的名称
3 ) basedir属性
用于指定jmeter基路径的位置。该属性没有指定时,使用Ant的构件文件的附目录作为基准目录。

2.target元素
它为Ant的基本执行单元,它可以包含个或多个具体的任务。 多个target可以存在相互依赖关系。它有如
下属性:
1)name属性
指定target元素的名称,这个属性在一个 project元素中是唯一的。 我们可以通过指定target元素的名称
来指定某个target.
2) depends属性
用于描述target之间的依赖关系,若与多个target存在依赖关系时,需要以"."间隔。Ant 会依照depends
属性中target出现的顺序依次执行每个target,被依赖的target会先执行。
3)if属性
用于验证指定的属性是否存在,若不存在,所在target将不会被执行。
4 ) unless属性
该属性的功能与if属性的功能正好相反,它也用于验证指定的属性是否存在,若不存在, 所在target将会被
执行。

5 ) description属性
该属性是关于target功能的简短描述和说明。
3.property元素
该元素可看作参量或者参数的定义,project的属性可以通过property元素来设定,也可在Ant之外设定。若
要在外部引入某文件,例如build properties文件,可以通过如下内容将其引入:
<property file= "build properties" >

一. 接口自动化测试实现

●通过Jmeter+Jenkins+Ant实现接口自动化测试

●Jenkins通过插件安装Ant和Publish HTML   reports (插件-可安装搜索-HTML Publish)

●修改Ant脚本

1. 安装apache-httpd web服务 解压 

分析

index.html的文件内容如下:

<html><body><h1>It works!</h1></body></html>

cd /home/parallels/apache-httpd-2.4.41/htdocs

安装jenkins

2. jmeter需要修改地方:

cd /home/panlele/tools/apache-jmeter-5.0/bin 

bin目录下修改vim 

修改前:

#jmeter.save.saveservice.output_format=csv

修改后:

3.以下:

1.下载ant.tar.gz

2.解压到usr/local目录tar zxvf apache-ant-1.10.6-bin.tar.gz -C  /usx/local/

3.cd /usx/local/

4.cd /etc/profile.d/

5. vim ant.sh  在/etc/profile.d下新建文件ant.sh而不是直接去编辑/etc/profile.d

按下小写的i字母,进入编辑模式

将这两行放进去

export ANT_ HOME=/usr/local/apache-ant-1.10.6

export PATH=$PATH:$ANT _HOME/bin

添加环境变量:vim /etc/profile
添加变量如下
export ANT_HOME=/home/ant-1.9.6 //ant的路径
export PATH=$ANT_HOME/bin:$ANT_HOME/lib:$PATH
重新加载环境变量:source /etc/profile
验证:ant -version

6.使配置文件生效 source /etc/profile.d/ant.sh

7.echo $PATH

查看环境变量里面有没有ant

8.cd /home/panlele/tools/apache-jmeter-5.0/extras

修改build. xml文件,修改了两个地方

---修改前

<property name="jmeter .home" value="${basedir}/.."/>

---修改后jmeter的安装路径位置在哪里,填写进去,使用pwd命令可以看当前目录位置

<property. name="jmeter.home" value=" /home/pan1e1e/tools/apache- jmeter-5.0"/>




---修改前.

<property name="test" value="Test"/>

---修改后,修改index是因为后面要用index.html在浏览器中进行打开。

<<property name="test" value="index"/>-

index指的是cd /home/panlele/tools/apache-jmeter-5.0/extras目录下要有个index.jmx文件

这样在这个目录下执行ant命令,会自动执行ant -index.jmx

 

9.  cp /home/parallels/apache-jmeter-5.2/extras/ant-jmeter-1.1.1.jar     /home/parallels/apache-ant-1.10.7/lib/

10. 验证
cd /home/pan1ele/too1s/apache-jmeter-5.0/extras

抉行ant脚本,如出現BUILD SUCCESSFUL则执行成功ok

/home/panlele/tools/apache-jmeter-5.0/extras目录下原本有个Test.jmx的文件。

[root@192 extras]# cp Test.jmx Test.jmx.bat 备份原来的Test.jmx文件

 mv Test.jmx index.jmx 再把Test.jmx重命名为index.jmx

然后输入命令

ant 

此时ant会把去执行index.jmx脚本

运行完后,然后extras多了2个文件

这两个文件都是通过build.xml运行实现的

build.xml 定义的test变量名的值是index 也可以定义成别的



配置jenkins

1.打幵jenkins萸面: www. xxx . com:port

2.系銃管理-插件管理-可迭插件- -搜索-HTMI Publish----安装, ant,重启jenkins

3.全局配置JDK和ant  从主页面直接到“系统管理>Global Tool Configuration”,点击右边“JDK/ant安装”按钮,

4.新增自由风格的项目:选择ant,新建任务-任务名称Cjmeterstyle) -构建一个自由风格的软件項目-确定进入到任务jmeterstyle的配置界面

构建Invoke ant-高级

Invoke Ant:

这里的build file填写jmeter目录下的extras下的build.xml路径

配置:/home/parallels/apache-jmeter-5.2/extras/build.xml

执行shell:

配置:

cd /home/parallels/apache-jmeter-5.2/extras

cp index.html /home/parallels/apache-httpd-2.4.41/htdocs

理解:上述命令是进入到jmeter的extras目录执行build.xml文件,build.xml会根据xml里面配置的内容去找叫做index.jmx的文件去执行,然后生成index.jtl和index.html

然后把在本路径下生成的index.html文件拷贝到apache-httpd的htdocs目录里

在这里构建时我遇到了一个问题:
ERROR: command execution failed.Maybe you need to configure the job to choose one of your Ant installations?

具体参考:https://www.cnblogs.com/yiyaxuan/p/12463261.html

5.Jenkins里面查看测试报告

注意:插件名称是:为了方便在Jenkins查看测试报告,需在Jenkins安装插件“HTML Publisher ” 即可
添加项目构建操作
jenkins执行完extras的脚本---》会自动生成html和jtl文件
所以如果没有特定新建html文件夹的话,配置目录那里就直接写到/apache-jmeter-5.2/extras就行
 

6. 构建前先删除jmeter下的extras的jtl和html

还有httpd下的htdocs下的index.html

7.

8. 报告可以改

/home/parallels/apache-jmeter-5.2/extras/jmeter-results-detail-report_21.xsl

拷贝模板到extras目录下,要么模板名字改成-detail-report_21
要么模版名字不变,修改build.xml文件

第二种部署jenkins+ant+jmeter整体思路:

1、安装apache-tomcat,下载jenkins.war包,将jenkins.war包放到tomcat的webapps下
2、启动tomcat
3、我们就可以访问http://114.115.141.191:8080/jenkins





jmeter+ant准备步骤:
1、将Jmeter所在目录下extras子目录里的ant-JMeter-1.1.1.jar复制到Ant所在目录lib子目录下
2、将jmeter-results-report_21.xsl放到jmeter的extras目录下(报告模版)
下载新的测试报告模板 将jmeter-results-shanhe-me.xsl放入apache-jmeter-3.1extras的文件夹下
 
修改jmeter.properties的文件,使得报告有响应和请求的数据,如果没有更改,报告是没有请求和响应参数的信息值:
3、修改jmeter目录下的bin/jmeter.properties,找到jmeter.save.saveservice.output_format,去掉注释并设置为xml
4、tmp路径下创建脚本目录jmeter_test
5、jmeter_test文件夹下创建result_log和script两个子目录文件夹和build.xml文件 另外拷贝一份
说明:script目录用来存放jmeter脚本的,build.xml文件是ant的核心配置文件,
result_log文件夹下再创建html和jtl两个子目录,
jtl目录用来存放jmeter生成的结果文件,html用来存放最后生成的测试报告
6、ant执行脚本
 

build.xml相关配置如下–》一共配置有5步

第3步:如果想要数据更加准确-》修改jmeter目录下的bin/jmeter.properties-》将所有saveservice有关文件,将false改成true,并去掉注释


第7步:文件展示

参考原文链接:https://blog.csdn.net/weixin_41665637/article/details/91040267

 
 
 
 
 
 
 
 
 
 
三、Jenkins准备
jenkins搭建
环境:JDK1.8 tomcat7
步骤:
1、将jenkins.war放到tomcat的webapps下
2、启动tomcat
4.解锁jenkins,输入管理员密码,路径:/root/.jenkins/secrets/initialAdminPassword
5.创建用户:autotest 密码:123456
 
jenkins配置
1、全局工具配置增加ant
2、创建一个自由风格的软件项目
3、构建步骤选ant,完成后先点应用,再点保存
4.构建后操作,生成html报告
 
 
原文地址:https://www.cnblogs.com/yiyaxuan/p/12422534.html