一、写在前面的话:

上篇我们已经认识了JMeter的图形界面,大家应该都是很懵的。那么这篇,我们将学习使用JMeter创建第一个属于自己测试用例。

二、创建自己的第一个测试用例:

1、新建一个Thread Group:

创建方式:点击TestPlan,右键,选择Add->Threads(Users)->Thread Groups(如下图)

Thread Group是用来模拟用户的行为,叫线程组。我们可以修改名称为Users,修改后点击TestPlan,左侧名称就会跟着改过来,如下图:

2、Thread Group(线程组)简单介绍:

1)线程组:

名称:随意设置,最好具有业务意义 
注释:随意设置,可以为空

2)在取样器错误后要执行的动作:也就是其中一个请求出错后的异常处理方式

继续,请求出错后继续运行,大量并发时,服务器出错是正常的事情,所以需要继续执行,记录出错作为性能依据

Start Next Thread Loop:如果出错,同一脚本余下的请求不再执行,直接重新开始执行。比如,登录失败了,发帖的操作不再执行,重新开始下一轮迭代,从登录开始

停止线程,如果出现请求失败,停止当前线程,不再执行;如果失败的事物增多,停下的线程也会增多,造成负载不够,一般不这么设置

Stop Test Now:如果有线程请求失败了,立即停止测试场景

3)线程属性:

线程数:运行的线程数设置,一般一个线程对应一个模拟用户

Ramp-up period:线程启动开始运营的时间间隔,单位是s。即所有线程在多长时间内开始运行。比如,设置线程数50,设置10s,那么每秒启动50/10个,如果设置为0,即开启场景后50个线程立即启动

循环次数:请求的重复次数,选择forever,请求将一直继续除非停止或崩溃;如果不选forever,输入数字,请求将重复指定的次数

Delay Thread creation until needed:勾选,线程在Ramp-up period的间隔时间启动并运行,比如50个线程10s的Ramp-up
period时间,那么每隔一秒启动5个线程并运行后面的sampler。不勾选,测试计划开始后启动所有线程,但不立即运行sampler,是按照Ramp-up period时间来运行的。比如50个线程10s的Ramp-up
period时间,那么计划开始后所有线程全部就绪,但第一秒只会启动5个线程并开始运营sampler

3、新建一个HTTP请求:

创建方式:点击Users,右键选择add->Sampler->HTTP Request(如下图)

4、更改HTTP名称,设置HTTP请求参数:

设置方式:如下图圈起来的地方,参考填写

5、新建监听:

创建方式:右键Users,add->Lisener->View Results In
Table 和View Results Tree(如下图)

6、运行测试:

运行方式:点击三角形图标,运行,见证奇迹的时刻到了。

7、测试结果:

Table
View:

Tree
View:

到此,我们已经学会创建第一个属于自己的测试用例了。后面我们将更加深入的讲解JMeter的使用和常用功能。

JMeter自学笔记3-创建自己的第一个测试用例的更多相关文章

  1. JMeter自学笔记1-环境安装

    一.写在前面的话: Jmeter是一款优秀的开源测试工具, 是每位测试工程师进阶过程中,需要熟悉并掌握的一款测试工具,熟练使用Jmeter能大大提高工作效率. Jmeter环境安装需要依赖JDK,所以 ...

  2. JMeter自学笔记2-图形界面介绍

    一.写在前面的话: 上篇我们已经学会了如何安装JMeter和打开JMeter,那么这篇我们将对JMeter的图形界面做一个简单的介绍.大家只要简单的了解即可,无需死记硬背,在今后的学习和使用中慢慢熟悉 ...

  3. Django:学习笔记(2)——创建第一个应用

    Django:学习笔记(2)——创建第一个应用 创建应用 在 Django 中,每一个应用都是一个 Python 包,并且遵循着相同的约定.Django 自带一个工具,可以帮你生成应用的基础目录结构, ...

  4. 《Linux内核设计与实现》课本第十八章自学笔记——20135203齐岳

    <Linux内核设计与实现>课本第十八章自学笔记 By20135203齐岳 通过打印来调试 printk()是内核提供的格式化打印函数,除了和C库提供的printf()函数功能相同外还有一 ...

  5. python自学笔记

    python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 ...

  6. ssh自学笔记

    Ssh自学笔记 Ssh简介 传统的网络服务程序,如:ftp.pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据.而且,这些服务 ...

  7. JavaScript高级程序设计之自学笔记(一)————Array类型

    以下为自学笔记. 一.Array类型 创建数组的基本方式有两种: 1.1第一种是使用Array构造函数(可省略new操作符). 1.2第二种是使用数组字面量表示法. 二.数组的访问 2.1访问方法 在 ...

  8. vue 自学笔记记录

    vue 自学笔记(一): 知识内容:  安装vue ,创建vue实例,安装第一个组件,单项数据流 https://www.cnblogs.com/baili-luoyun/p/10763163.htm ...

  9. JS自学笔记05

    JS自学笔记05 1.例题 产生随机的16进制颜色 function getColor(){ var str="#"; var arr=["0","1 ...

随机推荐

  1. ASP.NET Web API编程——版本控制

    版本控制   版本控制的方法有很多,这里提供一种将Odata与普通web api版本控制机制统一的方法,但也可以单独控制,整合控制与单独控制主要的不同是:整合控制通过VersionController ...

  2. tensorflow一个很好的博客

    http://blog.csdn.net/mydear_11000/article/details/53197891

  3. Linux Shell 编程 文件转置问题

    给定一个文件 file.txt,转置它的内容. 你可以假设每行列数相同,并且每个字段由 ' ' 分隔. 示例: 假设 file.txt 文件内容如下: name age alice 21 ryan 3 ...

  4. MyBatis动态sql语句归纳

    1.删除数据(假删除)并修改时间 <!--根据id删除学生信息(多条)--> <update id="updateStuStatus" parameterType ...

  5. java的foreach,后台弹框

    for (String string : list) { if(string.equals(ids)){ int res = JOptionPane.showConfirmDialog(null, & ...

  6. java之sleep(),join(),yield(),wait(),notify()、notifyAll()区别

    1.sleep() 使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁.也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据.注意该方 ...

  7. tensorflow节点布放(device assignment of node)算法:simpler_placer

    tensorflow v0.9中目前在用的devcie assignment算法是simple placer算法,相比于白皮书中cost model算法实现简单.simpler placer算法优先选 ...

  8. webAPI请求消息过滤器

    每当制作一个WebAPI,就必然会收到外部很多调用这个API的请求,有时候,我们希望,能从这些外部来的请求中,按照一定条件筛选过滤一下,只将那些我们觉得合法的,有必要回应的请求放进来,一方面挡住那些非 ...

  9. Web—01-快速入门:HTML

    html概述和基本结构 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  10. 学习笔记(1)centos7 下安装nginx

    学习笔记(1)centos7 下安装nginx 这里我是通过来自nginx.org的nginx软件包进行安装的. 1.首先为centos设置添加nginx的yum存储库 1.通过vi命令创建一个rep ...