通过案例教你玩转JMeter(上)

简介: 通过案例教你玩转JMeter(上)

1 搭建ebusiness场景


1.1录制

1,打开Window IE浏览器代理

image.png


2,启动ebusiness服务


3,打开JMeter,右键点击 Test Plan->Add->Threads(user)->Thread Group 添加一个线程组


4,Thread Group->Add->ConfigElement->Http request Default


5,如图设置

image.png


6,右键点击 Test Plan->Add->Non-test Elements->Http(s) Test ScriptRecorder 添加HTTP代理服务器


7,如下图进行修改

image.png


8,加上过滤

image.png


(?i).*\.(bmp|css|js|gif|ico|jpe?g|png|swf|woff|woff2)


9,点击start开始录制


10,录制完毕出现如下图所示

image.png


11,删除不需要的,修改一下名称

image.png


12.  把Simple Control换为LoopControl,


13,把编码改为utf-8

image.png


14,删除“HTTP(S) Test Script Recorder”。


15,删除“HTTP Header Manager”。


16,在头部加入“HTTP Header Manager”

image.png


17,在头部加入“HTTP Cookie Manager”

image.png


注意:一定必须为“标准(standard)”。


18,由于“登录验证界面”验证通过后自动进入“商品列表页面”,删除“商品列表页面”,然后调整一下“登录验证界面”。


19,关闭“HTTP Request Defaults”

image.png


20,加上“查看结果树”“Debug Sample”执行下脚本,进行验证。

Sample->Debug Sample

Listener->View Result Tree


运行

image.png


查看是403错误,没有权限。


1.2处理csrftoken

1.添加正则表达提取器:PostProcessors->Regular Expression Extractor

image.png


2. 添加cookies:Config Elements-> HTTP Cookies Manager

image.png


3. POST参数也是这样也用这个参数

image.png


4. 设置响应断言:Assertion->Response Assertion

image.png


5. 试运行

image.png


6. 设置BeanShell断言:Assertion-> BeanShell Assertion

image.png

response = prev.getResponseDataAsString();     
Failure = true;
if  (response.contains("电子商务系统")){
       Failure = false;
}else{
       FailureMessage="响应内容中没有找到电子商务系统";
}



1.3 多场景


1. 获得csrftoken

image.png


2.设置csrftoken

image.png


3. 建立两个Throughput Controller:Logic Controller->ThroughputController,分别为“查询商品”“查看商品详情”。用户分配分别为:

 image.png

 image.png


二者与“登录界面”“商品列表界面”处于同等位置。

image.png


5. 建立“查询商品”事务。

image.png


6,建立验证查询商品是否成功

image.png


通过验证是否进入到/search_name/目录下。


7. 建立“查看商品详情”事务。

image.png


通过${__Random(1,5,num)}随机查看编号为1、2、3、4、5的商品。


8. 加入验证

image.png


9. 设置线程为2

image.png


10.设置循环5次

image.png


11. 加入Summary Report


12. 运行

image.png


13.“查询商品”“查看商品详情”符合设置比例,是否符合预期的80%和20%。


1.4参数化

1.3.1使用cvs参数化

建立参数文件:user.dat

linda,knyzh158
cindy,123456
jerry,654321
susan,qwert
peter,zxcvb


加入参数化:Config Element->CSVData Set Config

image.png


  • user.dat为文件名。
  • UTF-8为编码格式。
  • username,password为获取后的参数。
  • ,为分割符号。

2.修改POST参数

image.png


3. 设置Loop Control循环次数为5


4. 试运行

image.png

并且通过Debug Sample查看参数是否正确。


  • username=peter
  • password=zxcvb


1.3.2 使用函数助手做参数化

1,点击

image.png

进入函数助手


2,选择random

image.png

产生从0-2之间的整数


3,建立type.txt


茶,测试,包



4,选择csvread函数

image.png

  • type.txt为参数文件
  • ${__Random(0,2,num)}为0,1,2随机之间任意一个随机数。

5,在查询商品页面进行参数化,

image.png


  • 查询参数为${__CVSRead(type.txt, ${__Random(0,2,num)})}

6,试运行,通过Debug Sample查看参数是否正确。

目录
相关文章
|
Java 测试技术 API
通过案例带你轻松玩转JMeter连载(49)
通过案例带你轻松玩转JMeter连载(49)
261 1
通过案例带你轻松玩转JMeter连载(49)
|
存储 Linux
通过案例带你轻松玩转JMeter连载(60)
通过案例带你轻松玩转JMeter连载(60)
181 0
通过案例带你轻松玩转JMeter连载(60)
|
算法
通过案例带你轻松玩转JMeter连载(59)
通过案例带你轻松玩转JMeter连载(59)
241 0
通过案例带你轻松玩转JMeter连载(59)
|
XML JavaScript Java
通过案例带你轻松玩转JMeter连载(58)
通过案例带你轻松玩转JMeter连载(58)
132 0
通过案例带你轻松玩转JMeter连载(58)
通过案例带你轻松玩转JMeter连载(57)
通过案例带你轻松玩转JMeter连载(57)
129 0
通过案例带你轻松玩转JMeter连载(57)
|
存储 索引
通过案例带你轻松玩转JMeter连载(56)
通过案例带你轻松玩转JMeter连载(56)
123 0
通过案例带你轻松玩转JMeter连载(56)
|
存储 Prometheus 监控
通过案例带你轻松玩转JMeter连载(55)
通过案例带你轻松玩转JMeter连载(55)
171 0
通过案例带你轻松玩转JMeter连载(55)
|
存储 监控 数据可视化
通过案例带你轻松玩转JMeter连载(54)
通过案例带你轻松玩转JMeter连载(54)
160 0
通过案例带你轻松玩转JMeter连载(54)
|
存储 Prometheus 监控
通过案例带你轻松玩转JMeter连载(53)
通过案例带你轻松玩转JMeter连载(53)
143 0
通过案例带你轻松玩转JMeter连载(53)
|
JSON 监控 数据可视化
通过案例带你轻松玩转JMeter连载(52)
通过案例带你轻松玩转JMeter连载(52)
202 0
通过案例带你轻松玩转JMeter连载(52)