1. 使用JMeter做性能测试(Windows)
1.1. 启动JMeter
下载JMeter的安装包,点击安装包\jakarta-jmeter-2.3RC4\bin下的jmeter.bat文件即完成启动。
1.2. 添加线程组
在添加线程组前添加需要的库。
选择可视化界面中左边树中的“测试计划”节点,点击“编辑”菜单---> “添加”--->”线程组”,添加一”线程组”后,“测试计划”节点下多了“线程组”节点
添加线程组后设置线程组的属性
线程数:为设置发送请求的用户数目,如设置为5,则有5个用户发送请求。
Ramp-up period: 所有线程数对应的请求发生的总时间间隔,单位是秒。比如你的请求数目是5,而这个参数是10,那么每个请求之间的间隔就是10/5,也就是2秒,即每个请求都要在之前的那个请求发生后10秒启动。如果设置为0,则请求并发执行。
循环次数:请求发生的重复次数,如果选择后面的“永远”(默认),那么 请求将一直继续,如果不选择“永远”,而在输入框中输入数字,那么请求将重复指定的次数,如果输入0,那么请求将执行一次。
1.3. 添加HTTP请求默认值
在HTTP请求默认值设置需要被测试服务器的相关属性,以后的HTTP请求设置中就可以忽略这些相同参数的设置,减少设置参数录入的时间。我们这里将采用这种属性。通过下面的步骤来设置HTTP请求默认值:
1.选中可视化界面中左边树的“线程组”节点,单击右键,选择“添加”—〉“配置元件”—〉“HTTP请求默认值”,点击“HTTP请求默认值”后可视化界面中左边树的“线程组”节点下多了“HTTP请求默认值”节点。2. 设置“HTTP请求默认值”的主要参数:
服务器名称或IP:被测试服务器的ip地址或者名字。在这里设置为192.168.10.91
端口号:服务器的端口号,192.168.10.91机器上的Websphere端口号为9080,在这设置为9080
协议:发送测试请求时使用的协议,CSP接受的是http请求
路径:servlet的路径。因为性能测试用的servlet是CSPReqServletTest ,所以路径设置为/csp/CSPReqServletTest
1.4. 添加HTTP请求
在HTTP请求中设置除了“HTTP请求默认值”已设置的相关属性,通过下面的步骤来设置HTTP请求:
1.选中可视化界面中左边树的“线程组”节点,单击右键,选择“添加”—〉“Sample”—〉“HTTP请求”,点击“HTTP请求”后可视化界面中左边树的“线程组”节点下多了“HTTP请求”节点,
2. 设置“HTTP请求”的主要参数:
方法:选择POST
同请求一同发送参数:需要发送的参数有5个,channelCode、operaterCode、operaterSequence、operaterTime、formatData。下面以查询虚拟账号为例:
channelCode:TC01
operaterCode: U0040
operaterSequence: 12345678901
operaterTime: 2007-9-28 12:00:00
formatData: 111112#
1.5. 添加监听器
通过添加监听器查看请求响应时间、响应数据等。通过下面的步骤来设置监听器:
1.选中可视化界面中左边树的“线程组”节点,单击右键,选择“添加”—〉“监听器”—〉“用表格查看结果”,点击“用表格查看结果”后可视化界面中左边树的“线程组”节点下多了“用表格查看结果”节点,
2. 设置“用表格查看结果”的主要参数:
Configure:点击“Configure”按钮,在弹出的窗口中选中“Save Response Data”项,以保存响应数据,
文件名:在“文件名”处填写文件的地址和名称,以保存相关的数据。在此填写为“F:\综合业务平台\测试代码\调试\TestResult3.txt”,
1.6. 启动发送HTTP请求
点击“运行”菜单---> “启动”,
运行完成后左边树的“用表格查看结果”节点 
“Sample Time(ms)”:表示每个请求发出到收到响应数据的总时间,单位为毫秒
“Bytes”:表示响应数据的字节数
“平均”:表示每个请求所耗的毫秒数
打开TestResult3.txt文件,可看到响应数据:-1#ÐéÄâÕÊ»§²»ÄÜΪ¿Õ#,
因为数据库中111112的银行卡号不存在,所以返回的结果数据中有-1(-1代表操作失败)。而乱码问题,因为CSP返回的响应数据已转化为二进制流,在windows下运行是乱码,在Linux下也是乱码。
如果运行有效用例,将formatData对应的值改为420102730901126#,其中420102730901126在数据库中已存在。启动后打开TestResult3.txt文件,可看到响应数据:0#22100003#0.00#,其中0表示交易成功,22100003为420102730901126卡号对应的虚拟账户,0.00为用户余额。
2. 使用JMeter做性能测试(Linux)
在Linux下启动JMeter与在windows下启动JMeter,启动文件不一致。
Linux下是打开”Terminal”,将目录切换至jakarta-jmeter-2.3RC4\jakarta-jmeter-2.3RC4\bin,再执行”sh jmeter”,即可。

jmeter笔记3的更多相关文章

  1. jmeter笔记(9)--JDBC Request的使用

    JDBC Request可以向数据库发送一个JDBC(Java Data Base Connectivity)请求(sql语句),获取返回的数据库数据进行操作.它需要和JDBC Connection ...

  2. jmeter笔记8

     JMETER接口性能测试方案 JMETER简介          JMeter可以用于测试静态或者动态资源的性能(文件.Servlets.Perl脚本.java对象.数据库和查询.ftp服务器或者其 ...

  3. jmeter笔记7

    一.脚本录制(Jmeter): Jmeter 脚本(.jmx)为 xml 格式,树形结构,由元件组成,使用“取样器”产生请求. 在“工作台”添加“HTTP 代理服务器” 端口: 代理服务器的端口,默认 ...

  4. jmeter笔记5

    性能测试是任何分布式或Web应用程序测试计划的重要组成部分.在计划和开发周期中进行性能评价,可以保证交付给客户的应用程序满足客户对于高负载.可用性和可伸缩性的要求.提前确定软件的负载限制可以为适当地进 ...

  5. jmeter笔记4

     软件测试中使用JMeter测试Web应用 JMeter作用领域 JMeter可以用于测试静态或者动态资源的性能(文件.Servlets.Perl脚本.java对象.数据库和查询.ftp服务器或者其他 ...

  6. jmeter笔记2

    使用jmeter它来完成最常用的三种类型服务器,即 Web 服务器.数据库服务器和消息中间件,压力测试的方法.步骤以及注意事项. 讲到测试,人们脑海中首先浮现的就是针对软件正确性的测试,即常说的功能测 ...

  7. jmeter笔记1

    使用 JMeter 分布式性能测试       作为一个纯 JAVA 的GUI应用,JMeter 对于CPU和内存的消耗还是很惊人的, 所以当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用 ...

  8. JMeter笔记4:测试结果-聚合报告的字段说明

    1.Lable :定义 HTTP 请求名称2.Samples :表示这次测试中一共发出了多少个请求3.Average :平均响应时长---默认情况下是单个Request的平均响应时长,当使用Trans ...

  9. JMeter笔记3:聚合报告之90%Line参数说明

    看看JMeter 官网是怎么说的? 90% Line - 90% of the samples took no more than this time. The remaining samples a ...

随机推荐

  1. MySQL基础(二)——DDL语句

    MySQL基础(二)--DDL语句 1.什么是DDL语句,以及DDL语句的作用 DDL语句时操作数据库对象的语句,这些操作包括create.drop.alter(创建.删除.修改)数据库对象. 2.基 ...

  2. C#无需IIS构建XmlRpc服务器

    准备 我们使用CookComputing.XmlRpcServerV2 3.0.0来构建XmlRpc服务器. 新建一个控制台项目,在项目中添加对CookComputing.XmlRpcServerV2 ...

  3. Codeforces Round #249 (Div. 2) A题

    链接:http://codeforces.com/contest/435/problem/A   A. Queue on Bus Stop time limit per test 1 second m ...

  4. XAF应用开发教程(七)外观控制模块

    很多时候,我们需要按照不同的条件显示不同的效果,在传统的软件开发中,我们会直接使用 控件名称.BackColor,Enable,Visible等属性进行控制. 如果一个业务对象在多处使用,要么我们会去 ...

  5. Android下利用SQLite数据库实现增删改查

    1: 首先介绍如何利用adb查看数据库 1: adb shell 2: cd /data/data/包名/databases 3:  sqlite3 数据库 4   接下来就可以进行数据库的sql语法 ...

  6. read 判定用户输入的状态后运行相应的结果

    文件名: test26.sh #!/bin/bash # getting just one character of input read -n1 -p "Do you want to co ...

  7. Android Studio常见问题 -- AndroidManifest.xml 覆盖问题

    问题如下 D:\source-code\AndroidStudio\MyApplication\app\src\main\AndroidManifest.xmlError:(14, 9) Attrib ...

  8. javascript练习----复选框全选,全不选,反选

    第一种方式: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  9. iOS - UITextField

    前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UITextField : UIControl <UITextInput, NSCoding> @ava ...

  10. [转载] 每周推荐阅读 BFQ:实现IO的隔离共享与高吞吐访问

    磁盘IO和网络IO隔离与共享是混部应用中基本需求,从早些年的BVC到现在的Matrix,以及Galaxy,或者未来的BS/Mint混部都遇到类似的问题:由于无法有效实现IO级的隔离(包括吞吐隔离.延时 ...