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 ...
随机推荐
- Winfrom BackgroundWorker
using System; using System.Collections.Generic; using System.ComponentModel; using System.Reflection ...
- 提取配置文件中无注释的内容方法--findstr
findstr /v /r # nginx.conf C:\Users\Liang>findstr /?在文件中寻找字符串. FINDSTR [/B] [/E] [/L] [/R] [/S] [ ...
- python3-基础4
字符编码 字符编码: 就是把人类的字符翻译成计算机能识别的数字 字符编码表: 就是一张字符与数字对应关系表 ascii gbk utf-8 unicode unicode --- ...
- 使用Visual Studio Code开发(编译、调试)C++程序
总体安装步骤 安装VSC(Visual Studio Code). 安装C/C++编译器(如MinGW-w64),然后配置好环境变量.//完成这步即可在VSC的终端(命令行)下编译.运行.cpp程序了 ...
- leetcode 890. 查找和替换模式 Python
用模式的每个字母去当做key对应单词列表的每个字母value, 如果放进dict之前检测到key已经存在,就检测Word[i][j]是否是和已经存在的value一致,不一致就代表不匹配,break检查 ...
- 20175236 2018-2019-2 《Java程序设计》第三周学习总结
教材学习内容总结 类与对象 类与对象的关系:要产生对象必须先定义类,类是对象的设计图,对象是类的实例 类:class是关键字,用来定义类. 类声明:例如class People. 对象的声明:类的名字 ...
- [UE4]模拟物理
一.默认情况下Actor的Mobility(可移动性)是Static(静止),Simulate Physics(模拟物理):如果勾选Simulate Physics,则Mobility会自动变成Mov ...
- Python import与from import使用及区别介绍
Python程序可以调用一组基本的函数(即内建函数),比如print().input()和len()等函数.接下来通过本文给大家介绍Python import与from import使用及区别介绍,感 ...
- [转]Deciding on a Project Coding Mask
https://blogs.sap.com/2015/11/26/deciding-on-a-project-coding-mask/ SAP里面每个模块都有其number range的定义和分派逻辑 ...
- yum搭建 Lamp环境
yum搭建Lamp yum install -y httpd yum install -y nano rpm 安装 Php7 相应的 yum源 rpm -Uvh https://dl.fedorapr ...