在大家开始看的时候先声明这篇文章不是我写的我只是照着他讲的安装好了,我觉得很有用就想保留下来。分享给大家。

人们对从认识事物都有一个具体到抽象的过程,学习Jmeter也不例外,通过一个实例来进行学习,一方面可以让初学者有所见即所得的信心,另一方面,其实也是在初学者心中留下了对这事物的一个朦胧的印象,这在以后的学习中,会不断地被深化。

所以,下面我们不对Jmeter的任何部件做任何详细的说明,而是通过一个例子,让大家了解这个框架。
   一 前期准备

首先,你要去官方那里下载Jmeter的压缩包,官方地址是http://jmeter.apache.org/,另外,你的系统要配置好java环境,笔者写这篇文章的时候,官方版本是2.8,下载完了之后,进入里面的bin目录下,找到jmeter.bat这个批处理文件,然后双击,进入jMeter的工作界面:

这里面有很多功能,这我们先别去理会这一些,接下来,我们会一步一步地去创建一个web测试项目,让大家先从感性上去认识这个框架。

接下来,我们创建的这个项目是这样的,我们会建立一个计划,让它去访问我们设定好的url,并将访问得到的信息返回给我们。

首先我们要新建一个线程组,线程组的作用模拟多个访问对象,对系统可以进行压力测试,这里我们先有这个概念就行了。

然后再这些线程组下面我们要添加一个forEach逻辑单位,它会帮我们去遍历我们要访问的url

添加完forEach逻辑单位之后,我们要设置一下一些属性。

下面是上面参数的含义

Name:控制器名称

Comments:备注

Input Variable Prefix:输入变量前缀

Output variable name:输出变量名称

Add”_”before number:输入变量名称中是否使用“_”进行间隔。

在这里的url就是待会要我们输入的变量,returnVal就是每次遍历以url为前缀的变量之后输出的值。

这里很多人就会开始纳闷了,那么这个url是从哪里来的呢?

如下图

右击forEach逻辑控件,添加一个用户自定义的变量。添加待会要加载的url,这里我添加了两个以url为前缀的url,待会forEach控件就会从这里去遍历这些变量。

好了,有了数据之后,其实我们还少了一样东西,我们是要做访问页面的请求,其实这里还少了一个发动请求的控件。这里我们添加一个http请求。

点击这个http请求,我们现在只需要添加一项内容。

这个${}表示取值的意思,returnVal其实和前面那个forEach控件里面的returnVal对应,这样一来,我们就可以明白这整个流程了。

对于每一个http请求,它会去取forEach控件中的returnVal的值,而returnVal的值来自对前缀为url的值的遍历结果。

写到这里,其实就差不多了,但是,还少了一样东西,就是如何看到显示结果,这里我们再添加一个监听器,返回结果时,我们就可以看到响应结果了。如图,我们添加一个查看结果树。

然后点击菜单栏中的运行按钮,第一次运行时会要你先保存一下。

最后的左边的目录树应该是这样子的。

运行之后,点击查看结果树,你可以看到如下的图。

读者可能会感到很奇怪为什么一个是绿色的,一个是红色的。

绿色的表示访问是有结果的,红色是访问不成功的。这里我们访问了两个请求,一个是http://www.baidu.com,另外一个是http://www.google.com,百度这里是访问成功的,但是,在笔者写这篇文章的时候,刚好是不成功的,这里面的原因,不说,你也懂的,还有,有读者可能比较疑惑,为什么访问google的时候,会出现下面url呢?笔者猜测是在中国大陆访问google,默认都会 被重定向到香港那边的google服务器,至于为什么,可能是google在大陆这边是用不了是有关的。好了,这次就写到这里。

jMeter入门实例的更多相关文章

  1. 【转】jMeter入门实例

    人们对从认识事物都有一个具体到抽象的过程,学习Jmeter也不例外,通过一个实例来进行学习,一方面可以让初学者有所见即所得的信心,另一方面,其实也是在初学者心中留下了对这事物的一个朦胧的印象,这在以后 ...

  2. Jmeter入门使用

    1. 什么是Jmeter 转自:https://www.cnblogs.com/lijuanhu321/p/9537185.html#testComponent https://www.cnblogs ...

  3. React 入门实例教程(转载)

    本人转载自: React 入门实例教程

  4. struts入门实例

    入门实例 1  .下载struts-2.3.16.3-all  .不摆了.看哈就会下载了. 2  . 解压  后 找到 apps 文件夹. 3.    打开后将 struts2-blank.war   ...

  5. Vue.js2.0从入门到放弃---入门实例

    最近,vue.js越来越火.在这样的大浪潮下,我也开始进入vue的学习行列中,在网上也搜了很多教程,按着教程来做,也总会出现这样那样的问题(坑啊,由于网上那些教程都是Vue.js 1.x版本的,现在用 ...

  6. wxPython中文教程入门实例

    这篇文章主要为大家分享下python编程中有关wxPython的中文教程,分享一些wxPython入门实例,有需要的朋友参考下     wxPython中文教程入门实例 wx.Window 是一个基类 ...

  7. Omnet++ 4.0 入门实例教程

    http://blog.sina.com.cn/s/blog_8a2bb17d01018npf.html 在网上找到的一个讲解omnet++的实例, 是4.0下面实现的. 我在4.2上试了试,可以用. ...

  8. JMeter入门合集

    JMeter从入门到精通 http://blog.csdn.net/lihengxin/article/details/4325918 jmeter入门教程- Jmeter教程及技巧汇总 http:/ ...

  9. Spring中IoC的入门实例

    Spring中IoC的入门实例 Spring的模块化是很强的,各个功能模块都是独立的,我们可以选择的使用.这一章先从Spring的IoC开始.所谓IoC就是一个用XML来定义生成对象的模式,我们看看如 ...

随机推荐

  1. S3C2440的RTC解析

    位二-十进制交换码(BCD)值数据给CPU.这些数据包括年.月.日.星期.时.分和秒的时间信息.RTC单元工作在外部32.768kHz晶振并且可以执行闹钟功能 实时时钟模块保存的数据是DCD码形式. ...

  2. JNI介绍(转)

    源:JNI介绍 JNI是在学习Android HAL时必须要面临一个知识点,如果你不了解它的机制,不了解它的使用方式,你会被本地代码绕的晕头转向,JNI作为一个中间语言的翻译官在运行Java代码的An ...

  3. MAC上更攺jenkins默认安装目录

    /Library/LaunchDaemons #编缉里面的jenkinshome和username sudo vim org.jenkins-ci.plist #然后 sudo launchctl u ...

  4. android UI线程安全问题

    在Android的子线程去更新UI的内容,会导致不确定的异常. 因为Android有个模式是,单一线程模型:Android UI工具箱(toolkit)不是一个线程安全的,并且它总是被放在主线程上操作 ...

  5. js数组之迭代方法

      ES5为数组对象定义了5个迭代方法(即递归,简单的说就是自己可以调用自己). 每个方法接收两个参数:要在每一项上运行的函数(接收3个参数:数组项的值,该项在数组中的位置,数组对象本身)和(可选的) ...

  6. 查看Linux最近重启的时间

    最近实验室老是掉电,想查看服务器什么时候重启的,于是在网上找了一些资料.有两种方式可以查看服务器重启. (1) who -b (2) last reboot |head -1

  7. xml的生成和发送

    s2014-04-07 10:01:05 之前学的是解析,现在需要生成xml, 然后利用蓝牙或者wifi发送到服务器 2014-04-07 10:36:34 采用dom4j创建xml报错 后来发现安卓 ...

  8. 1.3.1. 新建Xcode项目并设置故事板(Core Data 应用程序实践指南)

    创建名为Grocery Dude的Single View程序,并按默认设置处理,不勾选Core Date 和 Git. 设计故事板: 选择Main.Storyboard 拖放一个 Table View ...

  9. MI & CI

    目前,很多特征选择文献主要是依据对共信息的直观认识使用它,即:正值表示表型的存在使特征间依赖程度增加,是特征间存在相互作用的证据:负值表示表型的存在使特征间冗余性增加:零表示特征是相互独立的,或者说, ...

  10. delphi bitbutton和speedbutton.button有什么区别

    http://zhidao.baidu.com/link?url=LT9_iwv47GfSp3m0MmUSablZrPOxzjKtqWW1yVMTbHnIs2DdCE-0qX2bwXZ2020x_Jl ...