原理学习:
持续集成
持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成次,也
就意味着每天可能会发生多次集成每次集成都通过自动化的构建(包括编译,发布,自动化测试来验证,从
而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。
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
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里面查看测试报告
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整体思路:
result_log文件夹下再创建html和jtl两个子目录,
jtl目录用来存放jmeter生成的结果文件,html用来存放最后生成的测试报告
build.xml相关配置如下–》一共配置有5步
第3步:如果想要数据更加准确-》修改jmeter目录下的bin/jmeter.properties-》将所有saveservice有关文件,将false改成true,并去掉注释
第7步:文件展示
参考原文链接:https://blog.csdn.net/weixin_41665637/article/details/91040267