测试工具分为两类:接口测试和性能测试。
jmeter: 三种比较有用的原件
1.接口文档
2.参数化
3.断言
/////////////////////////////////////jmeter添加代理服务器/////////////////////////////////////////
1.添加Http代理服务器
2.设置端口号(不要有冲突的),设置HTTp domains ,一般都是本机的Localhost
3.设置目标控制器,即选择录到内容的哪个组件中
浏览器设置:
打开控制面板---打开Internet设置->连接,选择局域网设置
地址设置的localhost端口号与jmeter中保持一致
开始录制
启动代理服务器-->浏览网页进行录制xian
四、录制手机设置
|1、确保jmeter代理服务打开,确保手机与电脑处于同一网段。
2、在手机中选择设置->代理->手动,填入代理ip(此ip是电脑端ip),然后填入端口号(此端口号是jmeter代理服务中,设置的端口号)。
3、操作手机,数据会被捉取到meter中所指定的线程组或其它目标地方。
五、其它情况
如果无法被取https协议时,在jmeter菜单中选择菜单“选项"->"SSL管理器”,将jmeter安装目录中bin文件下的jmeter证书导入进来即可。
//////////////////////////////////////////线程组设置/////////////////////////////////////////////
1.做性能测试时,添加线程之后,需要对线程的运行环境进行设置。
2.线程数;就是虚拟用户数。可以虚拟多个用户进行业务操作。
3.RAMP-UP时间:加载添加的用户数所需要的时间。如果设置100个线程数,此处设置为1秒,即1秒启动100个用户,如果设置为两秒即为1秒启动50个用户。
4.延迟创建线程直到需要:当此功能开启时,用户数可以根据“启动延时”配置设置进行。
5.调度器:当此功能开启时,可以设置持续时间。即运行时间。
//////////////////////////////////////////////////////添加各类监控///////////////////////////////////////////
1、査看结果树;査看请求结果,结果可以查看请求连接及请求參数,返回状态等内容。
2、断言:用来校验预期言果与实际结果是否一致。可以选择返回内容.返回状态,清求内容,请求头等内容进行新言.断言方式可以是包含.等于等方式。
////////////////////fiddler回顾///////////////////////////
1
fiddler是 一个捉包工具.实现原理是一个代理。
2
打开fiddle,即进入代理模式。此时,所有web端的请求与返回即可在fiddler中显示相内容。
3
此时开启请求前断点.所有请求链接即可法打开。开启请求后断点.所有返回无法收到。
4
用命令可以計对某个网站的请求进行断点。如bpu www.baidu.com,即只对此网度进行请求前断点,其它网站信息给予放行.可以请求成功,取消此网站断点使用bpu。
5
、用命令针对某个网站的响应进行断点。如bpafter www.baldu.com,即请求成功后,返回信息被拦截(中断)。取消此网站断点时, 使用bpafter
6
对请求/响应进行篡改:设置断点后.可以对请求/响应篡改。打开右側·“白动回复器”· ,勾选启用规则. 将需要篡改的请求从左侧拖到自动回复器。然后在规则编辑器中,第二选择框,找到“找一个文件" (find a file...) ,选择你想展示的文件。刷新浏览器请求,查看内容是否替换。
1.关联
方式:正则表达、Xpath(一般xml比较多)
步骤:
badboy录制----导入jmeter-----找出需要关联的请求(nav.pl)----增加断言-----增加断言结果-----查看结果
2.Jmeter分布式部署(连接多台电脑做压力测试)
(1)Jmeter分步执行原理:
Jmeter分布测试时,选择其中一台做控制机(controller),其他机器为代理机(Agent)
执行时,Controller会把脚本发送到每台Agent上,Agent 拿到脚本后开始执行,Agent执行时不需要启动Jmeter,只需要把jmeter-server.bat文件打开,它应该是通过命令行模式来执行的。
执行后,Agent会把结果回传给Controller,Controller会收集所有Agent的信息并汇总。
(2)Agent配置:
1、Agent机上需要安装JDK、Jmeter,并且配置好环境变量。
2、打开“运行”,输入"cmd",打开运行面板,输入“ipconfig”,找到IP地址,例如是:192.168.8.149
3、打开Jmeter/bin/jmeter.properties,找到”remote_hosts=127.0.0.1”,把这一行修改为”remote_hosts=192.168.8.149:1099,1099是端口号,可以随意自定义
4、打开jmeter-server.bat文件,就设置完成了,等待控制机(Controller)启动。
(3)Controller配置:
1、Controller机上需要安装JDK、Jmeter,并且配置好环境变量。
2、打开“运行”,输入"cmd",打开运行面板,输入“ipconfig”,找到IP地址,例如是:192.168.8.174
3、打开Jmeter/bin/jmeter.properties,找到”remote_hosts=127.0.0.1”,把这一行修改为”remote_hosts=192.168.8.149:1099,192.168.8.174:1099,1099是端口号,可以随意自定义。如果有多台代理机,这里需要把所有的代理机的IP地址和端口号都加入进来。
4、打开jmeter-server.bat文件,设置完成了
补充:修改文件后取消注释
Agent:server_port=1099
server.rmi.localport=1099
server.rmi.ssl.disable=true
Controller:remote_hosts=192.168.6.36:1999,192.168.6.35:1099
server.rmi.ssl.disable=true 找不到文件时开启
Controller可以同时调用多个Agent,前提是Agent的服务处于开启状态。
(4)开始添加线程组请求来运行查看结果:
1、打开jmeter.bat文件,添加线程组,编辑线程数,这里设置100个线程数,循环2次,就是一台机器发送100*2=200个请求。
2、添加HTTP请求,这里以访问淘宝为例。
3、添加察看结果数和聚合报告,点击运行,可以选择远程启动或者远程全部启动,如果是点击远程启动,可以选择任意一台电脑来运行,如果是点击远程全部启动就会运行控制机和所有的代理机。
4、这里以点击远程全部启动为例。运行结束后,查看聚合报告,每台电脑设置的线程数为200,这里一共是两台电脑,所以是200*2=400个线程数。
接口文档测试:
1.参看需求文档,直接在jmeter中进行参数设置。
2.如果没又需求文档的话,可以直接在fiddler中抓取
3.填写接口的相关参数信息
添加过断言之后可以添加断言结果来进行数据的查看。
响应断言:
添加响应断言,设置需要包含的字符串。例如匹配字符为“百度一下,你就知道”,如果反悔的文本内容如果包含“百度一下,你就知道”,则就算pass。
添加响应断言
输入需要匹配的字符串信息
添加:断言结果(Assertion)、查看结果树(View Results Tree)
运行Test Plan中的线程组,进行断言检查。
响应断言的方法有:
数据包字节大小断言(Size Assertion)
判断响应结果是否包含正确数量的byte
持续时间断言(Duration Assertion)
判断是否在给定的时间内返回响应结果
用于判断响应时间是否符合要求,仅需要填入期望的上限即可,单位为ms
jmeter的参数化设置
第一种:
使用元件:前置处理器->用户参数
第二种:
使用元件:配置元件->csv参数化
第三种:
使用函数助手,点击选项->Function helper dialog,选择CSV这个函数
CSV file to get values from | *alias:CSV文件取值路径,即需要参数化的参数的文件路径
CSV文件列号| next|*alias:CSV文件列号是从0开始的,第一列为0,第二列为1,以此类推
Excel文件:
函数字符串:函数参数填好后,点击生成,拷贝到请求参数对应的值中
如在登录请求中,第一列为用户名,函数字段号为0,第二列为密码,函数字段号为1,以此类推进行修改使用即可,替换参数化后的参数,然后修改线程数