所需工具
一、jmeter 工具下载 https://jmeter.apache.org/ 配置环境JDK等及各种插件可以看小七之前的教程
二、Ant安装(http://ant.apache.org/) 安装Ant是为了后续在Jenkins中封装、构建、执行需要用到
1
2
3
4
5
6
7
8
9
10
|
Apache Ant™ Apache Ant是一个Java库和命令行工具,其任务是将构建文件中描述的进程作为相互依赖的目标和扩展点。Ant的主要用途是构建Java应用程序。Ant提供了许多内置任务,允许编译,组装,测试和运行Java应用程序。Ant还可以有效地用于构建非Java应用程序,例如C或C + + 应用程序。更一般地说,Ant可以用来试验任何类型的过程,可以用目标和任务来描述。 Ant是用Java编写的。Ant的用户可以开发自己的包含Ant任务和类型的“antlibs”,并提供大量现成的商业或开源“antlibs”。 Ant非常灵活,并且不会将编码约定或目录布局强加给采用它作为构建工具的Java项目。 寻找结合构建工具和依赖管理的解决方案的软件开发项目可以将Ant与Apache Ivy结合使用。 Apache Ant项目是Apache Software Foundation的一部分。 |
三、Jenkins安装 https://jenkins.io/(部署在tomcat)
一、jmeter安装略
二、Ant安装
选择 二进制分布 下载
1、下载 apache-ant-1.9.11-bin.tar.gz 目录位置随意 笔者是放在tomcat 同级目录下
2、配置环境变量
window中设置ant环境变量:
ANT_HOME E: oolapache-ant-1.9.11-binapache-ant-1.9.11
path E: oolapache-ant-1.9.11-binapache-ant-1.9.11in
classpath E: oolapache-ant-1.9.11-binapache-ant-1.9.11lib
3、验证ant
输入 ant
显示如下 即安装成功
也可以查看版本号
输入 ant -version
4、ant使用
<?xml version="1.0" encoding="UTF-8"?> <project name="ant-jmeter-test" default="run" basedir="."> <tstamp> <format property="time" pattern="yyyyMMddhhmm" /> </tstamp> <!-- 需要改成自己本地的 Jmeter 目录--> <property name="jmeter.home" value="G:Toolsapache-jmeter-4.0apache-jmeter-4.0" /> <!-- jmeter生成jtl格式的结果报告的路径--> <property name="jmeter.result.jtl.dir" value="G:Toolsapache-jmeter-4.0apache-jmeter-4.0demo eportjtl" /> <!-- jmeter生成html格式的结果报告的路径--> <property name="jmeter.result.html.dir" value="G:Toolsapache-jmeter-4.0apache-jmeter-4.0demo eporthtml" /> <!-- 生成的报告的前缀--> <property name="ReportName" value="TestReport" /> <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" /> <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" /> <target name="run"> <antcall target="test" /> <antcall target="report" /> </target> <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="G:Toolsapache-jmeter-4.0apache-jmeter-4.0demo" 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 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="${jmeter.home}/extras/jmeter-results-report_21.xsl"> <!-- 这里有个坑,网上的教程里面 不要copy了就不当回事, 需要在apache-jmeter-4.0extras 目录下找到对应的执行文件 --> <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>
2、将jmeter测试脚本放入demo目录下,当然放入其他位置也可以,build.xml中需要配置jmeter脚本存放路径的对应位置。
2、ant构建运行Jmeter,并且生成jtl、Html报告
- jmeter默认保存的是.csv格式的文件,所以我们先要设置一下bin/jmeter.properties文件内容,修改jmeter.properties文件 jmeter.save.saveservice.output_format=xml;
- 也可以在NON-GUI模式执行的时候 命令执行保存为xml :G:Toolsapache-jmeter-4.0apache-jmeter-4.0injmeter.bat -n -r -t test.jmx -l test.xml -e -o test 将G:Toolsapache-jmeter-4.0apache-jmeter-4.0extrasant-jmeter-1.1.1.jar拷贝到E: oolapache-ant-1.9.11-binapache-ant-1.9.11lib目录下;
- 拷贝到
- 在apache-jmeter-4.0apache-jmeter-4.0extras目录下打开CMDER,运行"ant.bat -file build.xml -Dtest=Test" (2019-09-26更新:直接执行ant即可。无须执行这么长了). 查看apache-jmeter-4.0extras目录下是否出现Test.jtl、Test.html文件,若有,则构建成功会显示 BUILD SUCCESSFUL。PS:Test.jmx是默认存在的Sample脚本文件。
打开cmder 执行ant run
执行成功
三、Jenkins 部署
Jenkins 是基于 Java 开发的一种持续集成工具,所以,Jenkins 需要 Java 环境,所以请自行安装好jdk
1、安装 tomcat
tomcat 是真对 Java 的一个开源中间件服务器(容器),基于 Java Web 的项目需要借助 tomcat 才能
运行起来。
tomcat 官方网站:http://tomcat.apache.org/
安装成功之后,
PS:通常将需要运行有应用放到 webapps/目录下
进入 bin/目录下,双击 startup.bat 来启动 tomcat 服务器
访问 http://localhost:8080
安装成功
2、安装 Jenkins
Jenkins 官方网站:http://jenkins-ci.org/
找到对应系统所对应的 Jenkins 版本,下载安装
双击安装,步骤这里就不一一截图了.安装的时候 如下图,目录放到tomcat的webapps中
运行 Jenkins
进行 tomcat 的 bin/目录下启动 startup.bat ,通过浏览器访问:http://localhost:8080/
ps:请勿在启动tomcat未关闭时启动Jenkins,否则会导致端口冲突
如果想要满足同时看到tomcat界面与jenkins界面
可执行下面操作
后打开浏览器,输入http:/localhost:6060,即可看到jenkins的页面
首次进入Jenkins 需要做一些配置
第一步、 不多做解释了,中文大家都懂,点击“继续”进入下一步
第二步、选择安装所需插件,刚开始玩可以选择左侧的推荐插件
安装插件ing.........
第三步、安装完成后创建用户
各项设置成功之后 即可看到Jenkins的页面.下面就可以创建任务了
PS:插件功能可以用来后续拓展功能使用,目前的环境搭建可以不需要安装插件
1. jenkin 相关插件介绍与配置
提前下载好插件:
系统管理- 管理插件- 可选插件
下载所需的插件,例如:Performance plugin、HTML Publisher plugin、Ant Plugin 等
1) 配置中 添加 Jmeter插件:Performance plugin、HTML Publisher plugin
功能:用来展示jmeter执行结果
2) 配置中 添加 Ant插件:Ant Plugin
功能:用来执行Ant
2、新建一个任务,构建一个自由风格的软甲项目
1)
2)选择构建触发器---增加构建步骤---INVOKE ANT
Targets 应该填什么?查看build.xml文件 查看 default="run" 这个参数。根据ant的build.xml中的default= ()来填
3)选择高级
4) Build File :此处输入的是build.xml文件的位置
3、配置之后保存,回到工作台 点击右侧的执行按钮 ,左侧会出现 执行状态
构建历史中科院查看构建过的任务
控制台输出中查看执行的日志信息
在本地输出的状态报告中可以查看到新生成报告
4、集成环境已经搭建完成,也可以设置一个定时任务 执行自动化集成
注意:关于定期构建参数的说明:"* * * * *",总共有5个参数,分别代表分(0~59)、时(0~23)、天(1~31)、月(1~12)、周(0~7,0和7表示星期天);
ant+jenkins+testNG自动化测试环境搭建
填好后点击apply和save,这里是个坑,之前看大神写的博客,没提到这一点,在构建的时候提示找不到ant来编译文件,所以这一步必须要做。有意思的是,在构建成功后我删除这个配置,再去构建,依然能够成功,可能是jenkins自身存在的一个BUG吧。
2.4 准备TestNG环境和Build.xml文件:
selenium+testNG的环境搭建这里就不说了。新建一个javaProject:大致的结构如下,关键的地方都圈出来了:这几个文件是必须要有的,记住你新建的这个JavaProject的workspace路径,后续需要用到。
好,一个个讲一下,第一个红圈是你写的testNG测试用例,需要测啥全部扔进来就行
第二个红圈是selenium的组件包,这个想必接触过selenium的朋友都很熟悉了
第三个红圈是build.xml,是实现ant编译的关键文件
第四个是定制你需要测哪几个测试用例的Xml文件,如图
在classname里指定你要执行的testNG测试用例即可,normal是包的名字
好,最后说Build.xml
<?xml version="1.0"?> <project name="jekinsPratice" default="run" basedir="."> <echo message="import libs" /> <path id="run.classpath"> <fileset dir="${basedir}/lib"> <include name="testng.jar" /> </fileset> <fileset dir="${basedir}/lib"> <include name="selenium-java-2.40.0.jar" /> <include name="selenium-server-standalone-2.40.0.jar"/> </fileset> <fileset dir="${basedir}/libs"> <include name="*.jar" /> </fileset> </path> <taskdef name="testng" classname="org.testng.TestNGAntTask" classpathref="run.classpath" /> <target name="clean"> <delete dir="build"/> </target> <target name="compile" depends="clean"> <echo message="mkdir"/> <mkdir dir="build/classes"/> <javac srcdir="src" destdir="build/classes" debug="on"> <classpath refid="run.classpath"/> </javac> </target> <path id="runpath"> <path refid="run.classpath"/> <pathelement location="build/classes"/> </path> <target name="run" depends="compile"> <testng classpathref="runpath" outputDir="test-output"> <xmlfileset dir="${basedir}" includes="test.xml"/> <jvmarg value="-ea" /> </testng> </target> </project>
解释一下:
<project name="jekinsPratice" default="run" basedir=".">-----这个是你JavaProject的名字
<fileset dir="${basedir}/lib"> <include name="testng.jar" /> </fileset> <fileset dir="${basedir}/lib"> <include name="selenium-java-2.40.0.jar" /> <include name="selenium-server-standalone-2.40.0.jar"/> </fileset>------这几段是指定我们刚刚说过的TestNG的jar包位置,以及两个selenium组件包的位置
<xmlfileset dir="${basedir}" includes="test.xml"/>-----这个是指定要执行哪几个测试用例的xml文件的路径
ok-到这里,TestNG和build.xml的环境就准备好了。
2.5 使用jenkins开始构建
可以看到控制台的输出: