接口测试02
本篇博客
1 jmeter特点
2 jmeter安装启动
3 jmeter中的元件
4 jmeter实战
5 使用jmeter实现自动化接口测试
补充:jmeter具体实战操作:
https://www.cnblogs.com/zhangyangcheng/p/12630613.html
1 jmeter特点
jmeter有一下特点:
- 免费、开源的
- 纯java语言开发
- 需要安装jdk:java development kit
2 jmeter安装启动
jmeter安装启动步骤:
解压即可:apache-jmeter-2.13.tgz
目录
- bin:存放的是启动文件
- extras:里面存放的是实现接口自动化时的ant包
启动:在bin目录下双击jmeter.bat文件即可
保存:一定要选择最上面的测试计划进行保存。
一般jmeter3.0的对应jdk1.7,jmeter4.0对应jdk1.8以上,否者启用jmeter也会报错
我的jmeter版本:apache-jmeter-2.13 jdk是1.7 版本
jmeter长这样子。
3 jmeter中的元件
jmeter基本元件介绍:
1. 测试计划,是使用jmeter测试的开始,是其他元件的容器;通常根据项目来为测试计划重命名
2. 用户定义的变量, 可以赋予动态获取值,使用${变量名} 引用
3. 线程组,线程数用来设置发送请求的用户数,即并发数,还有线程的时间间隔、循环次数
4. 取样器(HTTP请求),填写HTTP请求的协议,方法以及参数
5. 监听器,负责收集测试结果,并给出结果显示方式,常用察看结果树和聚合报告和断言结果
6. 断言,用来判断响应结果是否如用户所预期的,常用的有响应断言(自动化测试接口,基本上都要加断言来判断响应结果)
7. 配置元件,主要是参数化中用到CSV Data Set Config和HTTP Cookie 管理器
小小介绍下:
1 Cookie 管理器就像一个 web 浏览器那样存储并发送 cookie。
说明:如果你有一个 HTTP 请求,其返回结果里包含一个 cookie,那么 Cookie 管理器会自动将该 cookie 保存起来,而且以后所有的对该网站的请求都使用同一个 cookie。
2 响应断言和断言结果是配套使用。(响应断言:10002 断言结果:只显示HTTP请求,就说明响应断言是对的。)
3 线程组的介绍(线程数,线程的时间间隔,循环次数)
设置线程组:
1)线程数也就是并发数(并发测试中,并发数相当于用户数)
2)设置ramp-up period:
ramp-up period用于设置启动所有线程所需要的时间。如果选择了5个线程,并且ramp-up period是10秒,那么JMeter将使用10秒使5个线程启动并运行。每个线程将在前一个线程启动后10(10/5)秒后启动。
3)设置循环次数:
该项设置线程组在结束前每个线程循环的次数,如果次数设置为1,那么JMeter在停止前只执行测试计划一次。
jmeter复杂点元件介绍:
8. 参数化设置, 三种类型:一种是利用函数助手中的_CsvRead 函数进行参数化设置; 另一种利用配置元件中的CSV Data Set Config 进行参数化设置;还有一种就是用户参数设置数据(添加用户和变量)。
9. 动态数据关联,在HTTP 请求的参数中会遇到一些参数的值是从服务器响应返回的动态数据,这些数据需要进行关联才能使得下一次请求能成功地被服务器接受。在jmeter中,采用正则表达式提取器来获取这些动态数据。
jmeter我没怎么用到的元件介绍:
10. 控制器,结合sampler(取样器) 使用,可以模拟复杂的请求序列;常见的分逻辑控制器,循环控制器以及事务控制器
11. 前置处理器,负责在生成请求之前完成工作,常用来修改请求设置
12. 后置处理器,负责在生成请求之后完成工作,常用来处理响应数据,主要是在动态关联中用到后置处理器的正则表达式(这个用到过)
13. 定时器,负责定义请求之间的延迟间隔
附加小知识:
请求结构
看到这里我们大致就明白了接口测试是怎么一回事了。接下来需要理解一下HTTP的URL是怎么组成为一个接口的。如图:
一个URL就是一个接口:接口大致会分为一下几个部分:
1.请求协议:
- http — 普通的http请求
- https — 加密的http请求,传输数据更加安全
- ftp — 文件传输协议,主要用来传输文件
2.请求IP:就是指提供接口的系统所部署的服务器地址
3.请求端口:如果不填端口,默认80,否则需要填写端口号
4.接口地址:又称接口路径。指系统提供的接口在什么位置
5.接口参数:参数在接口路径后,用“?”来表示路径地址完了,剩下的都是参数了,用“&”来区分参数个数,
格式(重点)
http://host[:port][abs_path]
- http表示要通过HTTP协议来定位网络资源;
- host表示合法的Internet主机域名或者IP地址;
- port指定一个端口号,为空则使用缺省端口80;
- abs_path指定请求资源的URI(Uniform Resource Identifier,统一资源定位符);
如果URL中没有给出abs_path,那么当它作为请求URI时,必须以“/”的形式给出,通常这个工作浏览器自动帮我们完成。
例子:
1、输入:www.guet.edu.cn
浏览器自动转换成:http://www.guet.edu.cn/
2、https://www.baidu.com/
域名和ip地址之间是通过DNS域名解析系统解析的。
域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。
http请求方式
(所有方法全为大写)有多种,主要是GET和POST。
1. GET(SELECT):从服务器取出资源(一项或多项)。在做数据查询时,建议用GET方式,如:商品信息接口、搜索接口、博客访客接口…
2. POST(CREATE):在服务器新建一个资源。在做数据添加、修改时,建议用POST方式。如:上传图片接口、登录注册接口…
3. PUT(UPDATE):在服务器更新资源(客户端提供完整资源数据)。
4. DELETE(DELETE):从服务器删除资源。
误区:GET是从服务器上获取数据,POST是向服务器传送数据(该说法有误)
解析:GET/POST都可以提交数据,GET请求也可以向服务器传递数据,POST请求也需要服务器返回数据
(只需要修改接口的参数,就可以像功能测试一样测了。可以用功能测试设计用例的方法来设计接口测试的用例。可以使用各种测试用具辅助测试,下图为“postman”测试工具。)
Postman工具进行接口测试
get传参:
1:GET方式 2:参数在?后面,用&连接。 3:点击send 4:结果
注意:如果有参数,可以直接放在2 (?后面,&连接)里面
访问登陆页面 用户名:zyc 密码:123456
post传参:
1. 选择POST传参
2. url http://192.168.44.133:8000/users/login
3. Header中要填写 Content-Type:application/javascript
4:Body中选form-date :填写参数。
5:点击send。(下面的Body是发送后的结果。)
可以看到右边status状态:200 接口成功
6.保存
点击save把这条求情保存一下方便下次调试快速输入调用
我们做接口测试,需要开发提供接口文档。最重要的有一下几点:
1.被测接口的地址
2.接口参数,以及各个参数的说明
3.必要的http头与http体 ( http头是可以自定义的,可以用来校验是否是自己人访问 )
4.接口返回什么值,以及各个返回值的说明
5.接口是干什么的
前面的搞清楚了,接口测试就简单了,其实就是几个步骤。
1.拿到接口的url地址
2.查看接口是用什么方式发送
3.添加请求头,请求体
4.发送查看返回结果,校验返回结果是否正确
这个是正常的一套流程,异常的情况,就不用我多说来吧。比如参数不传值呀,传的值不正确呀,明明要求用”GET”请求发送,偏要用”POST”请求发送呀。等等有很多异常情况,一般懂功能测试都能想到很多的异常
情况,这里不再举例来。
接口测试用例
接口测试用例的设计就没什么好讲的了,与功能测试一样设计就好了。我是用Excel来编写的,主要是为了方便管理,只要写的干净,让人看的很舒服就好了。我自己设计的用例是这样的:
- 一个模块对应一个Excel表
- 一条接口对应一张sheet表
- 表中一行对应一条测试用例
- 在开始要注明测试时需要的sql,如下图开始我会创建用户,用完了我会删除
这样的用例比较好管理,如图:
4 jmeter实战
jmeter(GET,POST,三种参数化):
https://www.cnblogs.com/zhangyangcheng/p/12630613.html
4.1 get请求模拟
4.2 post请求模拟
4.3 接口间参数传递
场景:访问两个url。访问第一个url,返回usersession。访问第二个url,带着usersession参数访问。
两个HTTP请求平级,第一个为打开HTTP,第二个为登陆HTTP。在第一个HTTP下面一级增加正则表达式提取器。
正则表达式提取器:添加—-后置处理器—正则表达式提取器
1)引用名称:变量名
2)正则表达式内容:通过左右边界的内容提取
3)模板:如果提取的参数有多个那么写相应的模板,样式为:$n$
模板为$0$,则为整个表达式匹配到的内容;
模板为:$1$,则对应正则表达式中的第一个小括号内()匹配的内容;
模板为$2$,则对应正则表达式中的第二个小括号()匹配的内容;
模板为$1$$2$,则把2个()所匹配的内容拼接起来,$1$aa$2$拼接两个变量的内容,并在中间加上aa
4)匹配数字
0代表随机取,1取第一个,2取第二个…, -1取全部
5)缺省值
如果取出数据为空,则给默认值
使用变量:${变量名}
接口间参数例子:webtours登陆时,第一步实现登录请求,然后将请求返回的userSession提取出来保存到一个变量中,后续请求作为入参使用
1. 准备工作:开启webtours。可以参考上一篇博客(接口测试01)。
浏览器访问:http://192.168.197.1:1080/WebTours/
用户名:jojo,密码:bean
2. 使用fiddler抓包获取userSession。也是上一篇博客。
3. 使用jmeter做接口测试。
这个结构是这样的
webtours是线程组,open和login是平级的HTTP请求,察看结果树和HTTP请求也是同级。正则表达式提取器是open下面的一级。
1)添加webtours—-测试计划(右键,添加)—-Threads Users—–线程组
2)添加open—–webtours(右键,添加)——-取样器—–HTTP请求(改名:open)
这里先通过fiddler抓取打开页面的url
url直接复制2url里面的url。这是打开webtours页面的url
url: http://192.168.197.1:1080/WebTours/nav.pl?in=home
HTTP请求:open
服务器名称或IP: 192.168.197.1
端口:1080
协议:http
方法:GET
路径:/WebTours/nav.pl?in=home (注意:get是可以把参数放在路径里的)
3)添加正则表达式提取器——open(右键,添加)——后置处理器—–正则表达式提取器
先在fiddler里找到要正则匹配的userSession:在2url里—Raw—-userSession(输入框搜索)—-找到userSession值。
正则表达式提取器
引用名称:usersession
正则表达式:name=userSession value=(.+?)>
模板:$1$
匹配数字:1
4)添加login—-webtours(右键,添加)—–取样器—–HTTP请求
HTTP请求:login
服务器名称或IP: 192.168.197.1
端口:1080
协议:http
方法:POST
路径:/WebTours/login.pl
这里一定要注意一点:其他参数和值直接复制就好。userSession的值是变动的。要用匹配到正则的定义变量${usersession} 来代替抓到的值。
参数:
userSession=${usersession}
username=jojo
password=bean
JSFormSubmit=off
login.x=54
login.y=13
上面填写的内容,都是fiddler抓取来的。
5)添加察看结果树—–webtours(右键,添加)——监听器—-察看结果树
点击三角型运行
点击open—响应数据 title和userSession(参考fiddler的响应数据,这两个点一样就说明是是对的),不用看后面的value值。
依据在这: 这里是fiddler,打开页面的响应数据。2url—-Raw——title和userSession
判断登陆页面是否正确,这里是对的,也是参考fiddler登陆页面的响应数据。
<title>Web Tours</title>
说明接口间参数正确实现了
4.4 参数化
方式一、通过读取csv、txt文件获取数据
选中线程组—>配置元件—>CSV Data set config
1)填写内容
Filename:包括路径
变量名variable names
变量名之间用英文逗号隔开
2)然后使用${变量名}来读取文件每一列内容
注意:通过文件的行数来决定读取内容
方式二、通过函数助手读取csv、txt文件(顺序会乱)
选项菜单–>函数助手对话框—>__CSVRead函数
填写文件路径和列号(列号从0开始)
点击生成变量即可
注意:函数助手是按照不同用户读取文件内容
方式三、通过用户参数设置数据(顺序会乱)
选中线程组—>添加前置处理器中的用户参数选项
通过添加变量和用户来构造多条数据
注意:是由不同的用户决定读取的内容
5 使用jmeter实现自动化接口测试
下面会讲到:jmeter+ant+jenkins接口自动化测试框架
大致思路:
Jmeter可以做接口测试,也能做压力测试,而且是开源软件;
Ant是基于Java的构建工具,完成脚本执行并收集结果生成报告,可以跨平台,
Jenkins是持续集成工具。
将这三者结合起来可以搭建一套Web HTTP接口测试的持续构建环境,实现接口自动化测试,pc系统是Windows。
5.1 配置Jmeter环境变量
JMETER_HOME:D:\测试软件\jmeter\jme压缩\apache-jmeter-2.13
Path:%JMETER_HOME%\bin
CLASSPATH:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar;
验证是否配置成功:在dos窗口输入jmeter
注意:(JMETER_HOME这个是新建的,其余两个是编辑的。前面要加英文分号,如果有,就不加了)
环境变量相关配置
1.电脑桌面—-》“计算机”图标—-》鼠标右键选择“属性”—-》点击高级系统设置—-》高级—》环境变量页面
2.开始配置环境变量了。在系统变量框,点击“新建”,建立一个变量:JMETER_HOME,值为你解压的jmeter安装路径。我的安装路径:D:\测试软件\jmeter\jme压缩\apache-jmeter-2.13 。然后点击3次确定进行保存即可。注意:一定要选择系统变量进行修改。
3.在系统变量中找到Path,ClassPath变量,因为有其他值,在其后面进行添加下面的值即可。注意:要在前面分号。
Path:%JMETER_HOME%\bin
CLASSPATH:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar;
4.验证环境变量配置的是否正确
第一种启动jmeter方式:cmd jmeter
会出现jmeter界面,说明就配置成功。因为都把jmeter启动起来了。
还第二种启动jmeter方式:首先进到你的jmeter安装路径,找到bin文件夹,点击进去,找到jmeter.bat双击
如果觉得麻烦,可以鼠标右键jmeter.bat,快捷方式发送电脑桌面,就会方便很多。
5.2 搭建自动化接口测试框架
创建如下目录结构:test
test下:ant data JmeterAutoTest
1)ant:放解压好的ant软件
2)data:放数据
3)JmeterAutoTest 下:
- app pc
pc下:
- resultlog script
resultlog下:
- html jtl (报告生成区)
script:脚本区(这一定要放一个测试脚本进去。就是jmeter保存的测试计划.jmx文件。)
测试脚本:测试计划2.jmx 文件位置:F:\2020软件测试第二版\就业班6-20部分\16_就业班之接口及性能测试(共82集)\接口测试第二天\5-拷贝文件
把测试计划2.jmx复制到项目script目录下:
自动化接口测试框架—思维导图
5.3 安装以及配置ant环境变量
安装ant包:解压apacheAnt.rar。解压好了就安装好了。
ANT_HOME: G:\2020软件测试代码\3_接口及性能测试\接口测试\day2\项目框架\test\ant\apacheAnt
Path: ;%ANT_HOME%\bin
CLASSPATH: ;%ANT_HOME%\lib
验证是否配置成功:在dos 创建输入:ant -version
5.4 发送邮件&修改build.xml文件
首先要把ant包(apacheAnt)复制到test\ant目录下:
ant包(apacheAnt)的位置: D:\测试软件\jmeter\ant
apacheAnt包复制到test\ant下:在计算机打开项目test\ant位置复制比较快,在pycharm复制不太行。
然后:jmeter默认保存的是.csv格式的文件,所以我们先要设置一下bin/jmeter.properties文件内容,保存
jmeter.save.saveservice.output_format=xml
用记事本打开文件,ctrl+f,搜索。它是默认csv格式存储,但前面#注销了,所以没起作用。
所以我直接加在了文件的最后。
注意:我的记事本打开文件,感觉很乱。可以用老师这个打开:
最后:
将JMeter所在目录下extras子目录里的ant-JMeter-1.1.1.jar复制到Ant所在目录lib子目录之下,这样Ant运行时才能找到”org.programmerplanet.ant.taskdefs.jmeter.JMeterTask”这个类,从而成功触发JMeter脚本
1)3个jar文件拷到项目测试框架test—ant—lib文件下(发送邮件)
三个jar文件位置:F:\2020软件测试第二版\就业班6-20部分\16_就业班之接口及性能测试(共82集)\接口测试第二天\5-拷贝文件
拷贝到这里。如果重复就替换
2)build.xml文件拷到pc目录下
build.xml文件位置:F:\2020软件测试第二版\就业班6-20部分\16_就业班之接口及性能测试(共82集)\接口测试第二天\5-拷贝文件
我本篇博客自动化测试执行成功了,build.xml文件是直接使用下面的build.xml完整版代码。
通过build.xml文件,执行脚本,生成测试报告。
修改build.xml文件
可以通过notepad打开,有颜色比较好看。也可以pycharm直接打开。
1.改成自己本地的jmeter
<!-- 需要改成自己本地的 Jmeter 目录--> <property name="jmeter.home" value="D:\测试软件\jmeter\jme压缩\apache-jmeter-2.13" />
2.改成自己的jtl路径
<!-- jmeter生成jtl格式的结果报告的路径--> <property name="jmeter.result.jtl.dir" value="G:\2020软件测试代码\3_接口及性能测试\接口测试\day2\项目框架\test\JmeterAutoTest\pc\resultlog\jtl" />
3.改成自己的html路径
<!-- jmeter生成html格式的结果报告的路径--> <property name="jmeter.result.html.dir" value="G:\2020软件测试代码\3_接口及性能测试\接口测试\day2\项目框架\test\JmeterAutoTest\pc\resultlog\html" />
4.project pc pc前目录。如果是移动端,可改成app
<project name="pc" default="all" basedir="G:\2020软件测试代码\3_接口及性能测试\接口测试\day2\项目框架\test\JmeterAutoTest">
发送邮件:还是改build.xml文件的东西。
5.发送邮件邮箱(我用的是qq邮箱),接受邮件邮箱(163邮箱)
<!-- 接收测试报告的邮箱 -->
<property name="mail_from" value="107****@qq.com" />
<property name="mail_to" value="yangcheng_2020@163.com" />
6.发送邮件的邮箱用户名,密码,端口
<mail mailhost="smtp.qq.com" mailport="587" subject="Test Report!" messagemimetype="text/html" user="1071****@qq.com" password="anrlvjalsdjklsbeae" >
qq邮箱的密码,就不是登陆的密码。而需要登陆qq邮箱,发送短信,去获取密码(授权码)。qq的端口:587。mailhost=”smtp.qq.com”
注意:如果是163邮箱,密码直接是163邮箱登陆时的密码。端口是:25。可以百度查这些端口。
7.声明要运行的脚本路径
<!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本 --> <testplans dir="G:\2020软件测试代码\3_接口及性能测试\接口测试\day2\项目框架\test\JmeterAutoTest\pc\script" />
build.xml完整代码:这里qq是发送邮件,163是接受邮件的。
<?xml version="1.0" encoding="utf-8"?> <project name="pc" default="all" basedir="G:\2020软件测试代码\3_接口及性能测试\接口测试\day2\项目框架\test\JmeterAutoTest"> <tstamp> <format property="time" pattern="yyyyMMddhhmm" /> </tstamp> <!-- 需要改成自己本地的 Jmeter 目录--> <property name="jmeter.home" value="D:\测试软件\jmeter\jme压缩\apache-jmeter-2.13" /> <!-- jmeter生成jtl格式的结果报告的路径--> <property name="jmeter.result.jtl.dir" value="G:\2020软件测试代码\3_接口及性能测试\接口测试\day2\项目框架\test\JmeterAutoTest\pc\resultlog\jtl" /> <!-- jmeter生成html格式的结果报告的路径--> <property name="jmeter.result.html.dir" value="G:\2020软件测试代码\3_接口及性能测试\接口测试\day2\项目框架\test\JmeterAutoTest\pc\resultlog\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" /> <!-- 接收测试报告的邮箱 --> <property name="mail_from" value="1071183139@qq.com" /> <property name="mail_to" value="yangcheng_2020@163.com" /> <!-- 电脑地址 --> <!-- <property name="ComputerName" value="jkqsh-l0285" />--> <target name="all"> <antcall target="test" /> <antcall target="report" /> <antcall target="send" /> </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:\2020软件测试代码\3_接口及性能测试\接口测试\day2\项目框架\test\JmeterAutoTest\pc\script" /> </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"> <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="${time}"/> </xslt> <!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 --> <copy todir="${jmeter.result.html.dir}"> <fileset dir="${jmeter.home}/extras"> <include name="collapse.png" /> <include name="expand.png" /> </fileset> </copy> </target> <!-- 发送邮件 --> <target name="send" > <mail mailhost="smtp.qq.com" mailport="587" subject="Test Report!" messagemimetype="text/html" user="1071183139@qq.com" password="xdoebsnxixfbbaig" > <from address="${mail_from}"/> <to address="${mail_to}"/> <message>This email was sent automatically by ANT. Please check the automation test report. Thank you!</message> <attachments> <fileset dir="${jmeter.result.html.dir}"> <include name="${ReportName}${time}.html"/> </fileset> </attachments> </mail> </target> </project>
8.启动ant 执行脚本:cmd 先进入盘符:G: 然后cd进入pc目录下 输入ant 执行脚本,会生成测试报告(下面发送邮件配置好后,也是这样执行。会生成测试报告,并发送邮件。)
上面的东西我都验证过是可以成功的。pycharm是有新的测试报告,发送接受邮件都是成功的。
输入ant后,如果build失败了,有可能有以下原因:
1)网络不好(尤其是在图书馆)
2)pycharm打开项目在test这一层打开,不要其它无关的东西
3)build.xml文件的qq密码需要重新获取下
可以pycharm打开,这个上次都执行成功了:G:\2020软件测试代码\3_接口及性能测试\接口测试\day2\项目框架\test
接受邮箱就会有一封新的邮件
qq设置获取密码:
1)登录电脑版QQ邮箱,选择最上方的“设置”
2)如图选择“账户”,切换到账户详情页面。
3)在账户页面往下拉,可以看到smtp设置,选择“开启”。
4) 按照弹出的窗口提示操作进行密保验证。有多种方式可以验证,比如手机令牌等。推荐使用短信验证。
5)按照短信验证的提示发送短信。发送成功后直接点击“我已发送”。
6)弹出的提示中直接显示16位的授权码,可以复制下来,或者是记下来,千万不要记错了。然后点击“确定”。
以上就完成了qq密码(授权码)的获取。
注意:jmeter写好的脚本,保存为自动化测试框架的script目录下。
升级:ant只能执行一个,不能批量的进行。如果想再执行,需要还得再运行一下ant。使用下面的jenkins可以每隔多长时间执行一次。
5.5 使用jenkins实现持续集成
使用jenkins是为了定时执行脚本。
将jenkins(是一个网站)搭建在tomcat(服务器)下
1)需要安装tomcat:解压tomcat7.rar,解压完就安装好了。
2)jenkins.war复制到:D:\测试软件\jmeter\tomcat压缩\tomcat7\webapps
注意:如果有选择替换就可以。本篇博客其余处要拷贝的也是这样。
3)启动tomcat—-bin—–startup.bat(双击)
出现running,说明运行成功。
tomcat闪退、启动失败原因
1)端口被占用
修改tomcat端口
tomcat7–>conf–>server.xml文件—>在该文件下将默认的8080端口修改即可
例如:port:8090
2)异常退出
正确退出方法:1.ctrl+c命令 2.在tomcat7的bin目录下点击shutdown.bat
使用jenkins的步奏:
1.先启动tomcat—-bin—–startup.bat(双击)
2.输入网址:http://ip:端口/jenkins
http://localhost:8080/jenkins/
jenkin构建任务
1)新建–>输入item名称,选择“构建一个自由风格的软件项目”
2)构建触发器
有三种形式:
- Build after other projects are built:另一个项目结束之后再执行
- Build periodically:指定多长时间执行
- Poll SCM:多久去svn拉一次代码
这里选择Build periodically
定义脚本执行的频率
日程表:H/2 * * * *(表示每2分钟执行),下面也有表示时间示例提示。
3)构建—>选择invoke ant—>高级—-在build file位置输入build.xml文件的路径,保存
4)点击返回面板,选中该任务–>选择立即构建即可。就可以调用ant,执行打包过程。在这里,也就是执行生成测试报告的步骤
pc-html中生成的测试报告:我是直接在pycharm中看测试报告的
1)可以点击+号查看
2)可以看到有9个HTTP请求。有下面的信息:
Samples:9 (9个请求)
Failures:8 (8个失败了)
Success Rate:11.11% (成功率是11.11%)
Average Time :平均时间
Min Time:最少时间
Max Time:最长时间
Sucess:每一个请求是否成功还是失败(fales失败 true成功)
3)会显示每一个对应的响应和失败信息
停止jenkins中正在构建的项目:我是直接禁用项目的(有点暴力,但有用。不知道正确的怎么停止。):
1)有绿色圆圈说明项目没有被禁用,直接点击红色箭头指的项目
2)直接点击禁用项目。就不会有任务一直在执行了,下次用,再启用就可以了。
还有一种停止正在构建的项目:点击红色的叉叉:
(但是对我没有用,因为我做的是定时任务,2分钟一次。)
补充:
测试软件的安装:F:\2020软件测试第二版\就业班6-20部分\16_就业班之接口及性能测试(共82集)\接口测试第一天\自动化接口软件
jmeter+ant+jenkins安装位置:D:\测试软件\jmeter