JMeter学习笔记(二)
3.JMeter测试计划要素
JMeter中一个脚本即是一个测试计划,也是一个管理单元。JMeter的请求模拟与并发数(设置线程数,一个线程代表一个虚拟用户)设置都在脚本文件中一起设置。
要素一:脚本中测试计划只能有一个
JMeter测试计划类似LoadRunner Controller中的测试场景,同一时刻场景固然只能有一个,JMeter脚本在GUI中显示时是树形结构,测试计划是根节点,根节点当然只能有一个。
要素二:测试计划中至少要有一个线程组
JMeter负载是通过线程组驱动的,所以计划中至少要出现一个线程组。JMeter测试计划支持多个线程组,把不想管的业务分部在不同的线程组中。
要素三:至少要有一个取样器
测试的目的就是要模拟用户请求,没有取样脚本就毫无意义。
要素四:至少要有一个监听器
测试结果用来衡量系统性能,我们需要从结果中分析系统性能。
4.JMeter运行逻辑
第一,利用取样器模拟用户请求,如果需要做一些数据及环境的准备,那么久使用配置管理器,如果需要对响应的数据做处理,使用后置处理器。
第二,控制运行,使用线程组来设置运行场景,利用逻辑控制器来控制业务(实际就是控制取样器)。
第三,收集结果,利用断言来验证测试结果,利用监听器来收集显示测试结果。
同时JMeter也支持远程运行,弥补单台机器负载不够的情况。
5.JMeter Http协议录制
Http代理方式进行录制的原理是解析网络数据包。
5.1 Badboy进行录制
Badboy录制的脚本可以直接导出为.jmx格式,jmx正是JMeter脚本保存的格式,jmx实际上是一个XML格式的文件。
Badboy的录制方式有两种:一种是Request方式,一种是Navigation方式。这两种方式区别如下:
request:模仿浏览器发送表单信息到服务器,每个资源都将作为请求发送;
Navigation:记录用户鼠标操作,类似于自动化测试工具QTP,回放时模拟一个个点击。
5.2 界面详解
通过Badboy录制后的脚本导入到JMeter,以树形结构显示脚本,执行时原则上按节点先后顺序往下执行。详细界面如下:

A. Test Plan:测试计划,JMeter测试脚本根节点,每一个测试脚本都是一个测试计划,名称可以自己定义。
(1)设置用户全局变量,即在“用户定义变量”中定义。
(2)独立运行每个线程组,如果一个测试计划中有多个线程组,设置此项可以生效。不设置时每个线程组同时运行。
(3)Run teardown Thread Groups after shutdown of main threads,关闭主线程后运行teardown程序来正常关闭线程组(运行的线程本次迭代完成后关闭)。
(4)函数测试模式,在调试脚本的过程中我们可能需要获取服务器返回的详细信息就可以选择此项,此项记录较多的数据会影响测试效率,所以在执行性能测试时关闭此项。
(5)Add diretory or jar to classpath,把测试需要依赖的jar包或包所在的目录加入类路径。不过还是建议大家把依赖的jar包添加到%JMETER_HOME%\lib目录下。
B. Thread Group:线程组模拟虚拟用户的发起点,在此可以设置线程数(类似LoadRunner中的多少个虚拟用户)及运行次数或者运行时间,还可以定义调度时间和运行时长。
C. HTTP Cookie Manager:我们知道在用IE访问Web页面时会记录Cookie信息,JMeter通过加入HTTP Cookie Manager来自动记录Cookie信息,这里选择默认即可。
JMeter学习笔记(二)的更多相关文章
- WPF的Binding学习笔记(二)
原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...
- AJax 学习笔记二(onreadystatechange的作用)
AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...
- [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计
源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...
- JMX学习笔记(二)-Notification
Notification通知,也可理解为消息,有通知,必然有发送通知的广播,JMX这里采用了一种订阅的方式,类似于观察者模式,注册一个观察者到广播里,当有通知时,广播通过调用观察者,逐一通知. 这里写 ...
- java之jvm学习笔记二(类装载器的体系结构)
java的class只在需要的时候才内转载入内存,并由java虚拟机的执行引擎来执行,而执行引擎从总的来说主要的执行方式分为四种, 第一种,一次性解释代码,也就是当字节码转载到内存后,每次需要都会重新 ...
- Java IO学习笔记二
Java IO学习笔记二 流的概念 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输 ...
- 《SQL必知必会》学习笔记二)
<SQL必知必会>学习笔记(二) 咱们接着上一篇的内容继续.这一篇主要回顾子查询,联合查询,复制表这三类内容. 上一部分基本上都是简单的Select查询,即从单个数据库表中检索数据的单条语 ...
- NumPy学习笔记 二
NumPy学习笔记 二 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.<数学分 ...
- Learning ROS for Robotics Programming Second Edition学习笔记(二) indigo tools
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
- Redis学习笔记二 (BitMap算法分析与BitCount语法)
Redis学习笔记二 一.BitMap是什么 就是通过一个bit位来表示某个元素对应的值或者状态,其中的key就是对应元素本身.我们知道8个bit可以组成一个Byte,所以bitmap本身会极大的节省 ...
随机推荐
- MNI模板和Talairach 模板的对比
The MNI brain and the Talairach atlas SPM 96 and later use standard brains from the Montreal Neurolo ...
- 简单的python2.7基于bs4和requests的爬虫
python的编码问题比较恶心. decode解码encode编码 在文件头设置 # -*- coding: utf-8 -*-让python使用utf8. # -*- coding: utf- -* ...
- Confman - 针对「Node 应用」的配置文件加载模块
一句话介绍 confman 是一个强大的配置文件加载器,无论你喜欢 yaml .cson.json.properties.plist.ini.toml.xml 还是 js,都能满足你的愿望,并且更加简 ...
- 实用Linux命令
lsof -i:6379 查看某个端口的程序有没有起起来. netstat -tnlp 可以查看监听的端口,其中l是listening, p是显示program, n是显示ip而不是name, t看起 ...
- java学习笔记11--集合总结
java学习笔记系列: java学习笔记10--泛型总结 java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Ob ...
- 设置 IE 默认模式为 IE8
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
- [Python爬虫] 之三十一:Selenium +phantomjs 利用 pyquery抓取消费主张信息
一.介绍 本例子用Selenium +phantomjs爬取央视栏目(http://search.cctv.com/search.php?qtext=消费主张&type=video)的信息(标 ...
- 后缀树(Suffix Trie)子串匹配结构
Suffix Trie 又称后缀Trie或后缀树.它与Trie树的最大不同在于,后缀Trie的字符串集合是由指定字符串的后缀子串构成的.比如.完整字符串"minimize"的后缀子 ...
- 使用Intellij加载Spark源代码
如何使用Intellij加载Spark源代码 转载注明原文http://www.cnblogs.com/shenh062326/p/6189643.html 查看Spark源代码或修改Spark源代码 ...
- Transformer中引用iqd作为数据源导入报错TR1907与TR3312
好久没和transform接触了,初次接触就给我送了个大礼,在选择好iqd文件执行最后一步导入的时候,要求我对数据源输入用户名密码,我连续输入了三次用户名和密码,在我十分肯定用户名和密码没错的情况下, ...