一、写在前面的话:

上篇我们已经认识了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的使用和常用功能。

最新文章

  1. 小表驱动大表, 兼论exists和in
  2. ftp 操作,支持断点续传或者继续下载。
  3. Bag标签之中的一个行代码实行中文分词实例2
  4. GitHub超详细图文攻略
  5. js 中多维数组的深拷贝的多种实现方式
  6. 解决UITableViewCell左侧分割线有空白的问题
  7. 关于机器学习-EM算法新解
  8. JSON多层数据添加与访问
  9. 最有用的Gulp插件汇总
  10. pyhton中的Queue(队列)
  11. elk安装配置
  12. background-size cover和contain的用法详解
  13. Zynq系列程序逻辑固化方法
  14. C++ 使用命名规范
  15. quartus 一种管脚分配方法
  16. 【转载】koa相关知识(来自官网)
  17. 语音笔记:MFCC
  18. MySQL 数据库新用户授权
  19. Window下PHP三种运行方式图文详解,window下的php是不是单进程的?
  20. 使用eclipse创建android项目的时候为什么会生成两个项目

热门文章

  1. 理解JavaScript对象
  2. Anaconda常用命令
  3. HTML5对表单的一些有意思的改进
  4. 在EF Core里面如何使用以前EntityFramework的DbContext.Database.SqlQuery<SomeModel>自定义查询
  5. unittest单元测试框架之unittest案例(二)
  6. DZNSegmentedControl和XLForm联合使用
  7. Paths with -a does not make sense.
  8. git 对文件大小写修改无反应 不敏感解决办法
  9. 简单的mongo小工具 python
  10. 关于Hibernate基于version的乐观锁