JMeter性能测试基础 (2) - 变量的使用
在使用JMeter进行性能测试时,一般情况下要保证样本容量尽可能大,这样才能得到一个比较合理的结果。也就是说,我们不能只对同一个URL进行多次访问,而是要对统一模块下尽可能多的URL进行访问,以取得相对准确的一个结果。举个例子,如果对博客网站进行性能测试,不能只对同一篇文章的URL做性能测试,而是要覆盖尽可能多的文章的URL。本篇文章主要说明一下如何使用变量对这种多个URL的访问做配置。
1.使用JMeter内置变量
通过在JMeter中进行变量配置,实现多URL访问
1)建立“测试计划”及“线程组”,设置线程数为10
2)在“线程组”下,建立一个“ForEach控制器”的逻辑控制器

3)设置ForEach控制器

其中,
输入变量前缀:我们对做ForEach循环时所输入的变量的前缀
Start index for loop (exclusive):从哪个序号的变量开始循环(不包含该序号)
End index for loop (inclusive):从哪个序号的变量结束循环(包含该序号)
输出变量名称:输入变量以什么名称在Http请求中进行调用
Add “_” before number:在前缀和序号之间是否用下划线“_”进行连接
4)设置变量
在ForEach控制器下,添加一个“用户定义的变量”的配置元件

添加两个我们要访问的url。这里我们以chinadjango.com的Django入门文章为例,我们要访问以下两篇文章的URL
http://chinadjango.com/docs/intro/tutorial01/
http://chinadjango.com/docs/intro/tutorial02/
由于域名可以进行统一配置,在JMeter中,我们可以只配置URL的后半部分,这里进行配置如下

5)设置请求
在“ForEach控制器”下,添加一个“HTTP请求”的Sampler

设置服务器域名为chinadjango.com,路径为${returnUrl},其中${returnUrl}就是我们在之前的“用户定义变量”中的输出,这里作为发起HTTP请求时路径的输入进行使用

6)添加监听器并进行测试
在线程组下,添加一个“查看结果树”的监听器,运行测试,在“查看结果树”中检查测试数据。我们可以看到所有请求的性能数据。

查看HTTP请求的“请求”,可以看到每个访问对应的URL

2.使用数据文件
1)建立“测试计划”及“线程组”
2)编写数据文件url.txt,在其中编写我们要访问的url地址如下:
docs/intro/tutorial01/
docs/intro/tutorial02/
docs/intro/tutorial03/
docs/intro/tutorial04/
docs/intro/tutorial05/
3)在工具栏中,打开“选项”-“函数助手对话框”

4)选择“_StringFromFile”函数,设置文件路径,点击“生成”按钮,生成变量函数,赋值函数字符串,在下一步进行使用

5)在“线程组”下,建立一个“HTTP请求”的Sampler,设置服务器域名及路径,服务器域名使用chinadjango.com,路径处,填写我们刚刚获得的从文件中读取变量数据的函数 ${_StringFromFile(D:\urls.txt,,,)}

6)添加监听器并进行测试
在线程组下,添加一个“查看结果树”的监听器,运行测试,在“查看结果树”中检查测试数据。
这里需要注意的是,
在使用ForEach控制器时,线程组数量为10,在10个线程中,均会对我们设置的URL变量做访问,也就是对我们的变量做了总共20次访问;
而在使用外部文件时,线程组数为10,每个线程组只从文件中取了一条数据做访问,虽然我们的数据文件中有5条数据,但是总共做了10次访问,每个URL访问了2次。
使用ForEach控制器和使用外部文件是比较常用的两种变量配置方式。在测试过程中, Http有时还需要附带一些其它参数。下一篇文章,将对如何在HTTP请求中配置参数做介绍。
JMeter性能测试基础 (2) - 变量的使用的更多相关文章
- JMeter性能测试基础 (1) - 安装及简单使用
Apache JMeter是一款开源性能测试工具,全部功能使用Java编写,可用于进行性能测试.JMeter最初被设计用于Web应用测试,之后被扩展至多个测试领域. Apache jmeter 可以用 ...
- JMeter性能测试基础 (3) - 使用参数文件做搜索引擎性能对比
本篇文章主要对如何在JMeter中进行URL的参数进行配置进行介绍,通过CSV文件配置参数数据,对baidu.sogou.haosou进行搜索性能对比测试. 1.建立测试计划.线程组,并在线程组下添加 ...
- JMeter性能测试基础 (4)-使用JMeter录制测试脚本
在进行压力测试时,由于很多web页面包含了Ajax异步请求等内容,为模拟用户真实输入,除了对html的访问外,还需要将其它的访问考虑入内,这时最好的办法就是对实际访问过程中的所有请求进行录制. 例如, ...
- Jmeter性能测试基础
压力测试 压力测试分两种场景:一种是单场景,压一个接口的:第二种是混合场景,多个有关联的接口.压测时间,一般场景都运行10-15分钟.如果是疲劳测试,可以压一天或一周,根据实际情况来定. 压测任务 ...
- JMeter性能测试的基础知识和个人理解
JMeter性能测试的基础知识和个人理解 1. JMeter的简介 JMeter是Apache组织开发的开源项目,设计之初是用于做性能测试的,同时它在实现对各种接口的调用方面做的比较成熟,因此,常 ...
- 『动善时』JMeter基础 — 23、JMeter中使用“用户自定义变量”实现参数化
目录 1.用户自定义变量介绍 2.使用"用户自定义变量"实现参数化 (1)测试计划内包含的元件 (2)数据文件内容 (3)测试计划界面内容 (4)线程组元件内容 (5)CSV数据文 ...
- Jmeter学习一:Jmeter性能测试环境搭建(Windows下)
最近刚开始接触Jmeter性能测试,现总结环境搭建如下: 一.windows安装JDK步骤与环境变量配置: 1.先将下载的JDK安装到其默认目录:C:\Program Files\Java\jdk1. ...
- Jmeter性能测试
Jmeter性能测试 入门 Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率. 熟练使用Jmeter后, 能用Jmeter搞定的 ...
- JMeter性能测试,完整入门篇
1. Jmeter简介 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件.相比Loadrunner而言,JMeter小巧轻便且免费,也越来越流行成为了主流的性能测试工具 ...
随机推荐
- JavaEE笔记(五)
version 必须配置在id后面 缓存文件在映射文件后面 一级缓存:session回话级别 Session缓存的作用 (1)减少访问数据库的频率.应用程序从内存中读取持久化对象的速度显然比到数据库中 ...
- 使用JDBC connect获取数据库表结构信息
1.这是生成代码的关键 引入maven依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysq ...
- 打开CDQ的大门&BZOJ3262
题目传送门 第一次接触CDQ分治,感谢YZ大佬的教导. CDQ分治就是一种奇特的分治方法,它用左区间的区间信息来更新右区间. 设CDQ(L,R,l,r)表示递归到区间[L,R],区间的值为[l,r]. ...
- 【python3】将视频转换为代码视频
一.环境准备 1.需要安装opencv,直接安装 pip install opencv-python 2.需要安装ffmpeg ,直接解压免安装,下载传送门: 将 ffmpeg.exe 的路径复制,替 ...
- c++ 菜单动态效果
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> ...
- Linux下开发python django程序
一.安装django 1.#进入包文件夹下执行解压 tar zxvf Django-1.3.7.tar.gz 2#进入解压的文件夹执行安装 python setup.py install 3#安装成功 ...
- codevs 2639 约会计划
codevs 2639 约会计划 题目描述 Description cc是个超级帅哥,口才又好,rp极高(这句话似乎降rp),又非常的幽默,所以很多mm都跟他关系不错.然而,最关键的是,cc能够很好的 ...
- Python_sklearn机器学习库学习笔记(四)decision_tree(决策树)
# 决策树 import pandas as pd from sklearn.tree import DecisionTreeClassifier from sklearn.cross_validat ...
- 2018"百度之星"程序设计大赛 - 资格赛 1002 子串查询
题面又是万能的毒毒熊... 实在不想写了,就只写了这题 记26个前缀和查询枚举最小值直接算 实在是氵的死 而且我忘记输出Case #%d 想了很久 >_< #include<bits ...
- 如何写一个Xss Bot
如何写一个Xss Bot 现在的ctf比赛里 xss的出题方式比较特殊,一般使用xss bot,所以借鉴大佬经验尝试弄一个xss题目. xss bot 就是代替管理员去完成点击页面的任务,bot需要能 ...