JMeter自学笔记3-创建自己的第一个测试用例
一、写在前面的话:
上篇我们已经认识了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-创建自己的第一个测试用例的更多相关文章
- JMeter自学笔记1-环境安装
一.写在前面的话: Jmeter是一款优秀的开源测试工具, 是每位测试工程师进阶过程中,需要熟悉并掌握的一款测试工具,熟练使用Jmeter能大大提高工作效率. Jmeter环境安装需要依赖JDK,所以 ...
- JMeter自学笔记2-图形界面介绍
一.写在前面的话: 上篇我们已经学会了如何安装JMeter和打开JMeter,那么这篇我们将对JMeter的图形界面做一个简单的介绍.大家只要简单的了解即可,无需死记硬背,在今后的学习和使用中慢慢熟悉 ...
- Django:学习笔记(2)——创建第一个应用
Django:学习笔记(2)——创建第一个应用 创建应用 在 Django 中,每一个应用都是一个 Python 包,并且遵循着相同的约定.Django 自带一个工具,可以帮你生成应用的基础目录结构, ...
- 《Linux内核设计与实现》课本第十八章自学笔记——20135203齐岳
<Linux内核设计与实现>课本第十八章自学笔记 By20135203齐岳 通过打印来调试 printk()是内核提供的格式化打印函数,除了和C库提供的printf()函数功能相同外还有一 ...
- python自学笔记
python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 ...
- ssh自学笔记
Ssh自学笔记 Ssh简介 传统的网络服务程序,如:ftp.pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据.而且,这些服务 ...
- JavaScript高级程序设计之自学笔记(一)————Array类型
以下为自学笔记. 一.Array类型 创建数组的基本方式有两种: 1.1第一种是使用Array构造函数(可省略new操作符). 1.2第二种是使用数组字面量表示法. 二.数组的访问 2.1访问方法 在 ...
- vue 自学笔记记录
vue 自学笔记(一): 知识内容: 安装vue ,创建vue实例,安装第一个组件,单项数据流 https://www.cnblogs.com/baili-luoyun/p/10763163.htm ...
- JS自学笔记05
JS自学笔记05 1.例题 产生随机的16进制颜色 function getColor(){ var str="#"; var arr=["0","1 ...
随机推荐
- Dropbox的CEO在MIT的毕业演讲
这是我今天看到的一个演讲,个人觉得和乔老大在斯坦佛的毕业演讲有异曲同工之妙,我也觉得对工科的我们很有启发意义,就此转载,希望与君共勉. 编者注:本篇文章基于Drew Houston 在 MIT 毕业典 ...
- 二十四、详述 IntelliJ IDEA 中自动生成 serialVersionUID 的方法
当我们用 IntelliJ IDEA 编写类并实现 Serializable(序列化)接口的时候,可能会遇到这样一个问题,那就是: 无法自动生成serialVersionUID. 而serialVer ...
- LeetCode20.有效的括号 JavaScript
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足: 左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合. 注意空字符串可被认 ...
- shell脚本显示当前主机系统信息
编写脚本/root/bin/systeminfo.sh, 当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小. vim /root/bin/system ...
- ORACLE GOLDEN GATE oracle同步数据至kafka
一.服务器信息 ip 软件版本 ogg版本 软件包 操作系统版本 OGG安装路径 10.1.50.52 源 oracle11.2.0.4 12.2.0.1.1 V100692-01.zip cen ...
- What is a schema in a MySQL database?
摘自:https://www.quora.com/What-is-a-schema-in-a-MySQL-database What is schema? In MySQL, physically, ...
- Redis Sentinel 集群安装 step by step
一. 准备材料 服务器 IP address 操作系统 位数 Redis 版本 CNT06CAH05 192.168.3.47 CentOS 6.5 x64 Redis-3.2.6 sentine ...
- Django的MVT的思路
1.先上两张图片 2.我的理解 view在MVT框架里面,起到的是中间调度的作用. a.在diango里面有个关键性路径的配置 就是在django2.0前的url和在2.0后的path. 为避免一个项 ...
- 多用户OFDM系统资源分配研究
首先,OFDMA 是什么? OFDM 技术的基本原理是将无线信道划分为若干互相正交的子信道,把高速串行数据流转化为低速并行子数据流,低速并行子数据流在子信道上独立传输. OFDMA 是LTE的下行多址 ...
- node.js使用Sequelize 操作mysql
Sequelize就是Node上的ORM框架 ,相当于java端的Hibernate 是一个基于 promise 的 Node.js ORM, 目前支持 Postgres, MySQL, SQLite ...