Now you can know everything in the world, but the only way you're findin' out that one is by givin' it a shot. 
你可以了解世间万物,但追根溯源的唯一途径便是亲身尝试。

                                    电影《心灵捕手》

测试用例描述:

性能测试要求:5个用户循环2次。

用例名称 操作步骤 预期结果 备注
新建项目并设置团队时统计项目总工时 1、 进入项目视图,点击右侧的”添加项目“链接。  系统会自动计算这个项目总的可用工时。  
2、 出现项目添加的页面,添加一个新项目并保存
项目名称为: Test_Project_01
项目编号为: TP_01
项目时间为2016-01-01~2016-01-31
团队名称:TestTeam
关联产品:禅道管理系统
项目描述为:“测试组合模块之间的功能、性能”
3、 在保存后弹出的对话框中,选择“设置团队”
4、 为该项目设置5个测试人员,不包括“管理员”

这个测试用例仅仅是举例,实际测试设计工作中此类一般应用软件的类似功能是不涉及如此复杂的并发性能测试的,有兴趣的可以参考性能测试设计相关知识。

第一步:  创建测试计划

第二步: 创建线程组(调试过程中将用户数和循环次数均设置为1)

线程组说明:

域Ramp-Up Period:这个属性表示每个用户启动的迟延时间。例如,如果你输入Ramp-Up Period为5秒,JMeter将会在5秒结束前完成启动所有的用户。所以,如果你有五个用户并且Ramp-Up Period为五秒,那么开始用户的延迟就是1秒。(5个用户 / 5秒 = 1 用户每秒)。如果你设置其值为0,JMeter将会立即启动你所有的用户。

域Loop Count:这个属性表示你的测试的重复次数。如果你设置为1,JMeter将你的测试只运行一次。要让JMeter不断的运行,你要选择"永远"这个复选框。

第三步: 添加HTTP请求默认值

所有的HTTP请求都将发送到相同的Web服务器127.0.0.1。向这个域中输入这个域名,这是唯一一个需要我们去修改它的默认值的文本域,其它的文本域都保留它们的默认值。

注意: HTTP请求默认值元件并不告诉JMeter来发送HTTP请求,它仅仅定义这个HTTP请求所用的默认值。

第四步: 添加HTTP cookie

除非你的应用程序明确的不使用Cookies,几乎所有的网站应用程序都会使用cookie支持。要添加cookie支持,可以简单的在你的测试计划中给每一个线程组添加一 HTTP Cookie管理器。这样确保每个线程组有自己的cookies,但是共享跨越所有的HTTP请求对象。添加 HTTP Cookie管理器,简单地选择这个线程组,选择添加-->配置元件-->HTTP Cookie管理器,也可以从编辑菜单或通过右键点击来实现添加。

第五步: 添加设置HTTP代理服务器

第六步: 录制脚本

第七步: 回放脚本

以上5~7步如有清楚可以参考上一篇文章《使用JMeter录制脚本并调试》

第八步: 优化脚本(参数化关键字段)

1、明确哪些变量(字段)需要参数化

从回放结果中看到“项目名称”、“项目代号”重复了,导致回放失败,接下来就对这两个字段进行参数化

2、点击JMeter菜单栏的“选项”-“函数助手”,弹出函数助手设置框。

a. 选择一个功能:“_CSVRead”

b. CSV文件路径: 选择存放CSV文件的路径

c. CSV文件序列号: 从0开始

CSV文件格式如下, 参数的值之间使用逗号分隔,第1列"Test_Project_0X"对应上图中的序列号为0, 第2列为1。

d. 点击“生成”按钮,复制生成的字符串。

e. 找到对应的HTTP请求,用生成的字符串替换原HTTP请求中的值

3、1个用户循环1次,再次回放脚本并查看回放结果, 脚本回放通过。

第九步: 执行并发测试

设置线程组的用户数为5, 循环次数为2, 执行并发测试。

注意:

1. CSV文件中使用过的第一行的值,不能再被使用, 执行并发测试之前应该删除该行的值。

2. 5个用户循环2次,总共执行10次,参数值的数量需要满足10次测试使用。

第十步: 通过监听器查看测试结果。

summary report 摘要报告

摘要报告在测试中为每个不同命名的请求创建表行。这类似于聚合报表,但它使用的内存较少。

aggregate graph 聚合图

聚合图类似于聚合报表。主要的区别是聚合图提供了一个简单的方法来生成条形图,并保存为PNG文件的图形。

图形结果

图形结果监听器生成一个简单的图,绘制所有采样时间。沿着图的底部,当前样本(黑色),当前所有样品的平均值(蓝色),当前标准偏差(红色),当前吞吐量率(绿色)以毫秒为单位显示。

“吞吐量”表示服务器处理的请求/分钟的实际数目,包括实际测试事务和JMeter自己的内部处理时间。这个数字代表服务器每分种处理请求的真实值,可以增通过加线程数和/或减少延迟,以发现服务器的最大吞吐量。

JMeter参数化设置——通过函数助手的更多相关文章

  1. Jmeter(十一)函数助手

    可以在JMeter的选项菜单中找到函数助手对话框 我们可以从下拉列表中选择一个函数,并为其参数设定值.如图,表格的左边一列是函数参数的简要描述,右边一列是供用户填充参数的值.不同函数要求的参数也不同. ...

  2. Jmeter参数化设置,多用户登录

    一.模拟多用户登录场景 如登录模式如下图所示,登录界面中需要输入:用户名.密码.验证码 用户名以及密码均是固定值,不需要做处理.验证码需要处理一下,可以后台配置成固定值,具体可以找开发咨询. 在此场景 ...

  3. jmeter参数化数据(_csvread函数、用户自定义变量等)

    以下是转载内容,仔细看过后,觉得用得最多的应该是csvread函数.用户自定义变量以及CSV DATA CONFIG控制器这几个,但是做练习之后,在结果树和聚合报告中怎么查看执行结果是个问题,没找到对 ...

  4. Jmeter中各种参数化设置的方法

    Jmeter中有较多需要参数化测试的地方: 1.从一个用户登录的接口获取登录后的token值,取值后用于后续接口调用 2.获取用户浏览后的cookies信息,需要用到HTTP Cookie 管理器来为 ...

  5. Jmeter参数化(_csvread函数、CSV Data Set Config)

    方法一.Jmeter自带的函数助手——_CSVRead函数 1.数据准备:先在excel存储数据,保存格式选择csv格式.或在记事本存储数据,列之间用英文逗号分隔,保存为txt 2.使用_csvrea ...

  6. jmeter函数 助手

    Jmeter(一)——函数助手 __char:把一组数字转化成Unicode __counter:计数器,支持多线程(可以理解为多用户) 线程组设置为2个用户,循环两次${__counter(true ...

  7. JMeter参数化实现

     参数化:指对每次发起的请求,参数名称相同,参数值进行替换,如登录三次系统,每次用不同的用户名和密码. 1.1.1. 从csv文件读取(CSV Data Set Config) 步骤: 1)新建一个文 ...

  8. Jmeter参数化的方法

    测试接口时,使用Jmeter在请求中输入参数,若是有多种情况,有多条测试参数,是不是要每个情况逐条输入呢?逐条输入会让人觉得比较麻烦,因此,就有了Jmeter参数化. Jmeter参数化的方法: 用户 ...

  9. jmeter生成时间的函数

    在一个接口测试中,需要提交的请求中要带时间,在看完jmeter帮忙文档,正好总结一下 1.需求 在一个http请求中请求数据要带有时间,如下: 2.实现 突然想到jmeter自带的函数助手好像是可以实 ...

随机推荐

  1. copy to tmp table

    +-----+--------+-----------+--------------+---------+------+----------------------+---------+ | Id   ...

  2. Android gradle 相关配置

    有时候我们需要重命名输出apk文件名,在Android studio 3.0以前我们是这样写的: applicationVariants.all { variant -> variant.out ...

  3. Scut游戏服务器免费开源框架--快速开发(1)

    Scut快速开发(1) 1        开发环境 需要安装的软件 a)        VS2010开发工具(.Net Framework 4.0以上) 2        HelloWorld 2.1 ...

  4. 主流浏览器js 引擎内核市场份额attialx总结vOa9

    原文: http://blog.csdn.net/attilax/article/details/40016... 时间: 2014-10-12 atitit.. 主流浏览器 js 引擎 内核 市场份 ...

  5. Linux 主机被入侵后的处理案例

    Linux主机被入侵后的处理案例 提交 我的留言 加载中 已留言 一次Linux被入侵后的分析 下面通过一个案例介绍下当一个服务器被rootkit入侵后的处理思路和处理过程,rootkit攻击是Lin ...

  6. C 标准库 - <stdarg.h>

    C 标准库 - <stdarg.h> 简介 stdarg.h 头文件定义了一个变量类型 va_list 和三个宏,这三个宏可用于在参数个数未知(即参数个数可变)时获取函数中的参数. 可变参 ...

  7. Python+Selenium ----unittest单元测试框架

    unittest是一个单元测试框架,是Python编程的单元测试框架.有时候,也做叫做“PyUnit”,是Junit的Python语言版本.这里了解下,Junit是Java语言的单元测试框架,Java ...

  8. nodejs REPL(交互式解释器)

    Node.js REPL(交互式解释器) Node.js REPL(Read Eval Print Loop:交互式解释器) 表示一个电脑的环境,类似 Window 系统的终端或 Unix/Linux ...

  9. MFC小程序02————— 不规则窗体小应用程序

    什么不说了.先上程序截图: 执行结果是有一棵有星星在闪烁的圣诞树.还会循环播放背景音乐. 之前也是在网上看到类似的一个程序.然后自己近期也在学MFC.所以就模仿着写了一个, 当中使用的是GDI+来显示 ...

  10. Sublime Text3 配置设置攻略

    转载:http://cloudbbs.org/forum.php?mod=viewthread&tid=3620 sublime本身功能有限,我们需要装上一些插件使其变得强大.sublime在 ...