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 ...
随机推荐
- v4l2框架
参考:https://www.cnblogs.com/tuotuteng/p/4648387.html http://blog.sina.com.cn/s/blog_c91863e60102w65w. ...
- 配置中心Nacos
Nacos 是阿里巴巴2018年7月份开源的项目,如其名, Naming Configuration Service ,专注于服务发现和配置管理领域. Nacos 是什么?上面已经大概介绍了,更多详细 ...
- snmpd 服务安装和配置(转载)
snmp rpm包安装步骤 https://blog.csdn.net/macrothunder/article/details/50394566 rpm包位置: http://rpm.pbone.n ...
- ActionFilterAttribute 全局记录API日志
1.API项目下创建MonitorApiAttribute public class MonitorApiAttribute : ActionFilterAttribute { private sta ...
- ubuntu 装机步骤表
步骤 1. root 步骤 apt-get update ; apt-get upgrate apt-get install git zsh apt-get install -y make build ...
- 【原创】Mac book pro入手后,需要做哪些才能开始开展自动化测试工作
2018国庆节,脑袋一热,入手了一台Mac book pro,从此掉坑到了这个异构的操作系统中,因为之前工作中接触了Windows.Linux.Unix等操作系统的诸多版本,基本的操作倒是不成问题,但 ...
- python3csv与xlsx文件操作模块(csv、xlsxwriter)
一.csv模块实现csv文件操作 1.CSV介绍 CSV,全称为Comma-Separated Values,它以逗号分隔值,其文件以纯文本形式存储表格数据,该文件是一个字符序列,可以由任意数目的记录 ...
- VS2015创建类库项目后添加不了WPF资源字典,窗口,用户控件处理办法
打开项目工程文件在PropertyGroup标签最后加上下面3行: <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FA ...
- Postman Could not get any response
在使用postman时遇到的小问题,记录一下: 报错信息如下: Could not get any response There was an error connecting to https:// ...
- MyPubMedID
MyPubMedID是北京同舟云信息技术公司全新开发的新一代生物医学文献检索与分析平台. 该平台对PubMed全部内容进行重新清洗.组织.挖掘和开发,在完全消除PubMed检索歧义的同时,能够保证检索 ...