jmeter+ant+jenkins搭建自动化测试环境(基于linux)
关闭系统防火墙
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# systemctl disable firewalld.service
安装vim
[root@localhost ~]# yum -y install vim
JDK8的安装配置
上传压缩文件
解压缩文件
[root@localhost /tmp]# tar -xvf jdk-8u191-linux-x64.tar
配置JDK环境变量
[root@localhost /tmp]# vim ~/.bash_profile
export JAVA_HOME=/ftp/common/jdk1.8.0_191
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
保存提出
使配置立即生效
[root@localhost opt]# source ~/.bash_profile
验证
Jmeter的安装配置
jmeter官网下载压缩文件(需要提前安装jdk8)
上传安装包到Linux系统
解压缩安装包
[root@localhost opt]# tar -xvf apache-jmeter-3.3.tar
配置Jmeter的环境变量
[root@localhost opt]# vim ~/.bash_profile
export JMETER_HOME=/opt/apache-jmeter-3.3
export PATH=$PATH:$JMETER_HOME/bin
保存退出
[root@localhost opt]# source ~/.bash_profile
验证
[root@localhost opt]# jmeter -v
Ant的安装配置
ant官网下载压缩包apache-ant-1.10.1-bin.tar
将ant安装文件上传到Linux系统
解压缩Ant安装文件
[root@localhost opt]# tar -xvf apache-ant-1.10.1-bin.tar
配置Ant环境变量
[root@localhost opt]# vim ~/.bash_profile
export ANT_HOME=/opt/apache-ant-1.10.1
export PATH=$PATH:$ANT_HOME/bin
保存退出
[root@localhost opt]# source ~/.bash_profile
验证
[root@localhost ~]# ant -v
Jenkins安装
第一种推荐安装方式:
yum install wget
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
mkdir /jenkins
java -jar jenkins.war --httpPort=8080 --logfile=/jenkins/jenkins.log --daemon
第二种推荐安装方式:
官网下载.rpm的安装包
上传安装包到/opt目录
[root@localhost opt]# rz
[root@localhost opt]# ll
-rw-r--r--. 1 root root 74112783 Feb 2 21:40 jenkins-2.89.3-1.1.noarch.rpm
安装Jenkins
[root@localhost opt]# rpm -ivh jenkins-2.89.3-1.1.noarch.rpm
修改默认用户为root用户
[root@localhost ~]# vim /etc/sysconfig/jenkins
按a进入编辑模式,找到JENKINS_USER="jenkins",将jenkins改为root
Esc--:wq--保存退出
配置Jenkins依赖的JDK
[root@localhost ~]# vim /etc/init.d/jenkins
在candidates的值最后添加/usr/java/jdk1.8.0_151
保存退出
启动Jenkins服务
[root@localhost bin]# service jenkins start
通过浏览器访问Jenkins
在浏览器地址栏输入http://jenkins_ip:8080
解锁Jenkins
[root@localhost ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
复制密码到Unlock Jenkins,点击Continue
等待启动后进入定制页面,点击Install suggested plugins,安装建议的插件
插件安装中...
插件安装完成,创建管理员账户,点击保存
进入Jenkins主页面
为用户添加权限
Jenkins--系统管理--全局安全配置
安全域--允许用户注册,授权策略--选择安全矩阵
在添加用户/组处输入root,点击添加按钮,给root用户授予所有权限
点击保存按钮
配置邮件系统
Jenkins--系统管理--系统设置,在系统管理员邮箱处输入发送邮件的邮箱地址
向下滑动页面,找到Extended E-mail Notification配置
配置SMTP server为smtp.163.com
配置Default user E-mail suffix为@163.com
修改Default Content Type 为HTML(text/html)
添加以下内容到Default Content中,并覆盖掉原来的内容
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次测试日志</title>
</head>
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0">
<table width="95%" cellpadding="0" cellspacing="0" style="font-size: 14pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
<tr>
<td><br />
<b><font color="#0B610B">项目信息</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
<tr>
<td>
<ul>
<li>项目名称:${PROJECT_NAME}</li>
<li>构建编号:第${BUILD_NUMBER}次构建</li>
<li>构建结果:${BUILD_STATUS}</li>
<li>触发原因:${CAUSE}</li>
<li>构建日志:<a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
<li>构建Url:<a href="${BUILD_URL}">${BUILD_URL}</a></li>
<li>工作目录:<a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
<li>项目Url:<a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
</ul>
</td>
</tr>
<tr>
<td><br />
<b><font color="#0B610B">测试报告</font></b>
<hr size="2" width="100%" align="center" /></td>
</tr>
</table>
</body>
</html>
配置后继续向下配置邮件通知
点击高级按钮,勾选使用SMTP认证
配置SMTP服务器为:smtp.163.com
配置用户默认邮件后缀为:@163.com
配置用户名为:tp_rush@163.com
配置密码为:163邮箱的客户端授权密码(在163邮箱的设置--POP3/SMTP/IMAP--客户端授权密码中可以配置)
勾选 通过发送测试邮件测试配置
配置Test e-mail recipient,添加一个收件人邮箱,点击Test Configuration按钮测试邮件发送
打开邮箱检查是否收到测试邮件
邮件发送成功后,点击保存按钮,保存设置退出
Jenkins默认不支持外部的CSS和JS,需要设置
Jenkins--系统管理--脚本命令行
添加以下代码并运行,点击运行
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
安装HTML Publisher plugin
Jenkins--系统管理--管理插件--可选插件
选中HTML Publisher plugin,点击直接安装按钮
勾选 安装完成后重启Jenkins
如果Jenkins没有自动重启,可以刷新一下页面
配置Jenkins Ant
Jenkins--系统管理--全局工具配置
点击新增Ant按钮,去掉自动安装前的复选框
设置Ant Name为:apache-ant-1.10.1
设置ANT_HOME为:/opt/apache-ant-1.10.1
点击Save按钮保存修改
配置报告
将Jmeter安装目录下extras目录下的ant-jmeter-1.1.1.jar文件复制到ant安装目录下的lib目录中
[root@localhost extras]# cp /opt/apache-jmeter-3.3/extras/ant-jmeter-1.1.1.jar /opt/apache-ant-1.10.1/lib
在Jmeter目录创建testcase文件夹 [root@localhost apache-jmeter-3.3]# mkdir testcase
将本地用jmeter写好的测试脚本example.jmx上传到Linux上的jmeter目录下的testcase目录中
创建build.xml文件 [root@localhost opt]# vim build.xml
将下列代码复制到build.xml里
<?xml version="1.0" encoding="UTF-8"?> <project name="ant-jmeter-test" default="run" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMdd_hhmm" />
</tstamp>
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="/opt/apache-jmeter-3.3" />
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="/opt/apache-jmeter-3.3/testcase/report/jtl" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="/opt/apache-jmeter-3.3/testcase/report/html" />
<!-- 生成的报告的前缀-->
<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="/opt/apache-jmeter-3.3/testcase" 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-detail-report_21.xsl">
<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>
以上注释很全,需要更改的路径自行更改一下
Esc--保存退出
进入build.xml目录执行ant [root@localhost testcase]# ant
成功构建
新建一个Jenkins Item
Jenkins--新建Item--输入任务名称,选择自由风格的软件项目,点击确定
进入配置页
拖动页面到最后,找到构建节点,点击增加构建步骤,选择Invoke Ant
点击高级按钮,设置Ant Version和Build File
新增构建后操作步骤
点击增加构建后操作步骤,选择Publish HTML reports
点击增加按钮
HTML directory to archive填build.xml所在目录
Index page填build.xml中修改的那个名字加.html
点击增加构建后操作步骤,添加Editable Email Notifaction
点击Advanced Settings--Trigger,删除掉默认的触发器,点击Add Trigger,从下拉列表中选择Always
删除掉Send To设置中的Developer
保存设置,点击立即构建
jmeter+ant+jenkins搭建自动化测试环境(基于linux)的更多相关文章
- jmeter+ant+jenkins搭建接口自动化测试环境
jmeter+ant+jenkins搭建接口自动化测试环境(基于win) 1.jmeter jmeter依赖java运行环境,所以需要提前下载jdk并配置好环境变量 官网下载(http://jmete ...
- Jmeter+Ant+Jenkins搭建持续集成的接口测试(推荐 Mark)
转自:http://my.oschina.net/hellotest/blog/516079 目录[-] 一.Jmeter+ant 二.Jmeter+ant+Jenkins 三.Tomcat配置虚拟目 ...
- Jmeter+Ant+Jenkins搭建持续集成的接口测试框架
https://my.oschina.net/hellotest/blog/516079 摘要: 一个系统通常有多个接口,软件的生命周期中,我们会不断的去优化老的接口和开发新的接口,那么在这个过程中, ...
- Jmeter+ant+jenkins接口自动化测试 平台搭建(一)
平台简介 一个完整的接口自动化测试平台需要支持接口的自动执行,自动生成测试报告,以及持续集成.Jmeter 支持接口的测试,Ant 支持自动构建,而 Jenkins 支持持续集成,所以三者组合在一起可 ...
- jmeter + ant + jenkins 自动化集成环境搭建
所需工具 一.jmeter 工具下载 https://jmeter.apache.org/ 配置环境JDK等及各种插件 二.Ant安装(http://ant.apache.org/) 安装Ant是为 ...
- Jmeter+Ant+Jenkins接口自动化测试(一)_环境部署
前言: 2017年最后一个月份,今天抽出时间把之前的一些记录分享出来,也为今年画上个简单的句号吧,无论好与坏,无论成功与失败,简单的记忆,不要留下点点空白. 特别提示: 知识是用来分享的,但是也要尊重 ...
- jmeter+ant+jenkins搭建接口自动化测试环境(基于win)
1.jmeter jmeter依赖java运行环境,所以需要提前下载jdk并配置好环境变量 官网下载(http://jmeter.apache.org/download_jmeter.cgi),我用的 ...
- jmeter+ant+jenkins 搭建接口自动化测试环境
过程参考:http://www.cnblogs.com/lxs1314/p/7487066.html 1. 安装ant 2. 安装jenkins 遇到问题: 启动Tomcat后,访问http://lo ...
- Jmeter+Ant+Jenkins接口自动化测试框架搭建
前言 软件开发的V模型大家都不陌生,其中测试阶段分为单元测试→功能测试→系统测试→验收测试.其中单元测试一般由开发同学们自己完成,大部分测试具体实施(这里不包括用例设计)是从单体功能测试开始着手的. ...
随机推荐
- 提车应该检查哪?4S店都怕你检查这4个“雷区”,别等后悔才知道
https://mbd.baidu.com/newspage/data/landingsuper?context=%7B%22nid%22%3A%22news_9381645601643691163% ...
- IdentityServer4 学习一
网上找的关于IdentityServer4的百度脑图 http://naotu.baidu.com/file/75b251257ce27cfa62e0ad7f47b75576?token=e2db61 ...
- Spring IoC 详解(四)
Spring IoC 概述 IoC:Inverse of Control(控制反转) 为了更好的理解用可以这样通俗易懂的这样讲:IOC主要是说是new一个类来使用,方式分为:开发这手动创建和Sprin ...
- Feign【替换默认的feign client】
说明: feign默认情况下使用的是JDK原始的URLConnection发送的HTTP请求,没有使用到连接池,但是对每个地址会保持长连接,即HTTP的persistence connection.我 ...
- ora00972标识符过长
oracle10G对于表名的长度限制是30个字节 表名超过30结果不能创建,提示ora00972-标识符过长. 需要将表名控制在30个字节以内
- 使用不同代理IP刷票的脚本---requests
投票功能限制刷票是通过限制单个IP的投票次数实现的,所以写了个脚本用于测试此功能. #-*- coding=utf-8 -*- ''' 功能:此脚本用于用不同的IP刷票 作者:Elle 最后修改日期: ...
- 题解-PKUWC2018 猎人杀
Problem loj2541 题意概要:给定 \(n\) 个人的倒霉度 \(\{w_i\}\),每回合会有一个人死亡,每个人这回合死亡的概率为 自己的倒霉度/目前所有存活玩家的倒霉度之和,求第 \( ...
- Markdown中有序列表和无序列表
最近有用户问我,在简书写 Markdown, 一条有序列表 item 之后接一条无序列表 item,为什么 parse 的结果,第二个 item 依旧是作为有序列表的第二项显示,带有有序列表的列表符号 ...
- 嗯。。 差不多是第一道自己搞出的状态方程 hdu4502 有一点点变形的背包
吉哥系列故事——临时工计划 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Tot ...
- Java QuickSort 快速排序
Java QuickSort /** * <html> * <body> * <P> Copyright 1994-2018 JasonInternational ...