jmeter入门案例(二)
jmeter入门简介(一)下载及元件介绍https://www.cnblogs.com/wish5714/p/9714930.html
jmeter典型的http请求示例
业务场景
银行卡收单交易,模拟100W商户进行入金交易,模拟对手方账户为2个
场景分析
鉴于场景可知
1、需要造100W商户信息
2、需要将100W笔交易随机分布在模拟的2个对手方账户上,即入参随机为2个账户z
测试计划搭建
1、建立线程组:右键testplan---->添加线程---->添加线程组
2、建立http请求:右键线程组---->创建取样器---->http请求
其中‘消息体数据’中的${},意味着变量,其中${__}开头的为预定义的函数,位置在---->选项---->函数助手对话框;其它的变量稍后会给出在哪设置
3、预定义函数使用:位置在---->选项---->函数助手对话框
其中有两个参数,一个是时间格式,另一个是变量名,即你在其它地方使用时可以使用该变量名,
然后点击生成,将函数字符串复制到请求报文中即可,请求报文见步骤2
The result of the function is:即该函数的返回值
Current JMeter Variables:即使用该函数后,将在jmeter的当前线程中产生的内部变量
更多函数的使用可以自己研究下,官方文档https://jmeter.apache.org/usermanual/functions.html
4、添加配置元件----http信息头管理器
该配置主要补充HTTP请求的头部,这里将交易报文格式设置为json格式
操作步骤:右键http请求---->添加---->配置元件---->http信息头管理器
5、添加配置元件----csv数据文件设置
操作步骤:右键http请求---->添加---->配置元件---->csv数据文件设置
该步操作的目的是为了读取已造好的100W的商户数据(该步操作可以通过读取数据库来实现,即不需要读取本地csv文件,后续章节会涉及),这里采用读取本地文件方式。
变量名称:即csv中每列对应的变量名(该变量名可以不和csv中的列名一致,只需要保持位置顺序一致即可,逗号隔开)
6、添加配置元件----计数器
操作步骤:右键http请求---->添加---->配置元件---->计数器
引用名称:即变量名
这里使用计数器是因为模拟的对手方账户只有2个,因此要根据计数器选择其中一个对手方账户,逻辑见第7步
7、添加前置处理器----BeanShell PreProcessor
操作步骤:右键http请求---->添加---->前置处理器---->BeanShell PreProcessor
这里用到了第6步中的计数器,即vars.get("num"),这里的vars即jmeter的内置变量,本质是map,因此采用get/put进行操作即可
这里可以看到将“supplierCode”放入了vars中,所以在请求报文中可以通过${supplierCode}获取到值
更多解释请参考https://blog.csdn.net/shimengran107/article/details/76849748
官方文档地址:https://jmeter.apache.org/usermanual/component_reference.html#BeanShell_PreProcessor
8、添加后置处理器----BeanShell PostProcessor
操作步骤:右键http请求---->添加---->后置处理器---->BeanShell PostProcessor
这里添加该处理器的目的是解决应答报文中的中文乱码
prev在这里指的是jmeter中的SampleResult类
更多操作见官方文档:http://jmeter.apache.org/usermanual/component_reference.html#BeanShell_PostProcessor
9、添加监听器----查看结果树
操作步骤:右键http请求---->添加---->监听器---->查看结果树
查看结果树的用途可以看到每一笔请求的详细情况,包括请求和响应的报文
另外可以设置“仅错误日志”,则只会显示异常的HTTP交易,可以将结果写入文件中,支持csv和jtl
更多操作见官方文档:http://jmeter.apache.org/usermanual/component_reference.html#View_Results_Tree
10、添加监听器---->聚合报告
操作步骤:右键http请求---->添加---->监听器---->聚合报告
该页面可以展示一些经过统计的数据
label | samples | average | median | 90%line | 95%line | 99%line | min | maximum | Error% | throughPut | received KB/SEC | send kb/sec |
分组 | 请求量 | 平均值 | 中值 | 90%的请求的ms | 95%的请求的ms | 99%的请求的ms | 最小值 | 最大值 | 错误率 | tps | 接收的数据量 | 发送的数据量 |
更多信息见官网:http://jmeter.apache.org/usermanual/component_reference.html#Aggregate_Report
11、测试
至此,该测试计划配置结束,接下来介绍怎么运行
该篇结束,下篇介绍非GUI模式测试,重点在报告详情分析
https://www.cnblogs.com/wish5714/p/9724935.html
jmeter入门案例(二)的更多相关文章
- Quartz应用实践入门案例二(基于java工程)
在web应用程序中添加定时任务,Quartz的简单介绍可以参看博文<Quartz应用实践入门案例一(基于Web应用)> .其实一旦学会了如何应用开源框架就应该很容易将这中框架应用与自己的任 ...
- Quartz应用实践入门案例一(基于Web环境)
Quartz是一个完全由java编写的开源作业调度框架,正是因为这个框架整合了许多额外的功能,所以在使用上就显得相当容易.只是需要简单的配置一下就能轻松的使用任务调度了.在Quartz中,真正执行的j ...
- _00017 Kafka的体系结构介绍以及Kafka入门案例(0基础案例+Java API的使用)
博文作者:妳那伊抹微笑 itdog8 地址链接 : http://www.itdog8.com(个人链接) 博客地址:http://blog.csdn.net/u012185296 博文标题:_000 ...
- Python爬虫Scrapy(二)_入门案例
本章将从案例开始介绍python scrapy框架,更多内容请参考:python学习指南 入门案例 学习目标 创建一个Scrapy项目 定义提取的结构化数据(Item) 编写爬取网站的Spider并提 ...
- Java开发学习(二)----IOC、DI入门案例
一.IOC入门案例 1.1 思路分析 (1)Spring是使用容器来管理bean对象的,那么管什么? 主要管理项目中所使用到的类对象,比如(Service和Dao) (2)如何将被管理的对象告知IOC ...
- Java开发学习(二十三)----SpringMVC入门案例、工作流程解析及设置bean加载控制
一.SpringMVC概述 SpringMVC是隶属于Spring框架的一部分,主要是用来进行Web开发,是对Servlet进行了封装.SpringMVC是处于Web层的框架,所以其主要的作用就是用来 ...
- Spring(二)--Spring入门案例
Spring入门案例 1.需要的实体类 2.需要的接口和实现类 3.需要的service和实现类 /** * service层的作用 * 在不改变dao层代码的前提下,增加业务逻辑操作 */ publ ...
- SpringMVC入门案例及请求流程图(关于处理器或视图解析器或处理器映射器等的初步配置)
SpringMVC简介:SpringMVC也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的 Spring结构图 Spr ...
- Struts2第一个入门案例
一.如何获取Struts2,以及Struts2资源包的目录结构的了解 Struts的官方地址为http://struts.apache.org 在他的主页当中,我们可以通过左侧的Apache ...
随机推荐
- AttributePriority
还有AttributePriority,我们可以设置编译时优先级.如果我们对目标标记了多个aspect,这样postsharp就不确定注入先后顺序,这样不能确保正确性,在vs编译时候我们会看见警告:T ...
- what is MAC address
MAC Address:media access control address A media access control address (MAC address) is a unique id ...
- kafka reset offset 手工重置offset
1.场景 a)有时消费端逻辑修改,需要重复消费数据,需要将offset设置到指定位置. 2.实现 kafka版本:0.11.* KIP-122: Add Reset Consumer Group Of ...
- 学习笔记之English
雅思听力地图题的常用短语 - 无忧机经预测 https://mp.weixin.qq.com/s/VmV3L2METymtjMWHY2fNiA 雅思听力租房的那些事儿 - 北京市海淀区环球雅思 htt ...
- Ajax异步请求阻塞情况的解决办法(asp.net MVC Session锁的问题)
讨论今天这个问题之前,我们先来看下浏览器公布的资源并发数限制个数,如下图 不难看出,目前主流浏览器支持都是最多6个并发 需要注意的是,浏览器的并发请求数目限制是针对同一域名的 意即,同一时间针对同一域 ...
- 64 位 Windows 平台开发注意要点之文件系统重定向
Program Files 的重定向 很多开发人员都知道,在 64 位 Windows 系统上,32 位程序是无法获取得到 C:\Program Files 的完整路径的,只能获取到 C:\Progr ...
- Java子类访问父类的私有成员变量
/**子类会继承父类所有的属性和方法. * 但是根据不同的权限标识符,子类不可见父类的私有变量,但可以通过父类的公共方法访问私有变量 * 所以对于重名变量,子类和父类都各有一份. * 对于子类和父类中 ...
- Three failed attempts of handling non-sequential data
The Progress of Products Classification Cause now we are considering to classify the product by two ...
- C语言的“编译、链接”
我们写的代码,仅仅是文本文件(txt),不管后缀怎么变,终究是文本文件,计算机只能显示,不能做事(执行). 文本文件通过“编译.链接”,成为可执行文件(windows下是exe): 编译:生成.o文件 ...
- Flutter windows环境安装 + 模拟设备 + 项目运行
目录: 一.JDK安装 1.1.JDK下载 1.2.环境变量配置 1.3.测试 二.ANDROID-SDK安装 2.1.下载 2.2.环境变量配置 三.Flutter安装 3.1.下载 3.2.环境变 ...