熟悉几个专有名词:
1、测试计划是顺序执行的,一个性能测试必须有的三部分:测试计划、线程组、sampler(采样器)--核心
2、控制器(用来定义请求执行的):loop if else
3、timer:请求与请求之间的延时。
4、断言:可以直接加载采样器之后,用于判断采样器的输出结果是否符合预期。
5、监听器:统计结果,输出测试报告用--聚合报告
===========================================================
jmeter目录结构说明:
 
测试计划--用来组织整个测试的树形结构,至少需要包含一个线程组,线程组中至少要有一个请求。
测试报告会以线程组的名字为测试报告标题
Ramp-Up Period(in seconds):表示在设定的时间内启动完所有线程,是间隔启动。
setup是在所有线程组执行之前执行,teardown是在所有线程组执行之后执行。
默认端口8080,可以重载。
http常用的三个配置器:http request manager,HeardManager:不同的http对应的heard不一样,用来增加heard多样性,http cookie manager 也是一样的。
jmeter默认会有一个断言:response code != 200的时候,默认请求失败。
 
Assertion 断言--断言里是可以写程序的。
模式匹配规则:substring、 including equal等
duration(持续时间)--登录时间超过了预设时间等问题。
result tree:打印所有的请求,及响应指标统计
============================================================
重要工具 fiddler web debug
用来查看页面参数等等,将请求图片的,请求静态资源的都过滤掉,jmeter重点测试真正与后台交互的代码部分。略过前端的部分。
fiddler可以选择过滤掉某些ip或key。
套路:fiddler抓页面,jmeter制脚本
随机生成的变量怎么获取 给下一个接口做参数?
sampler--可编程的采样器
============================================================
引用变量: ${变量名}
在三个地方可以定义变量:配置器、脚本、函数 vars_put('变量名','变量值')
变量作用域:任何一个变量都有作用域,配置器根目录定义变量的作用域是全局的,函数、脚本定义的变量是在线程组里面,组外影响不到。避免了变量在多个线程组之间绕串。
 
函数:可以查看函数助手
用法:${函数名}允许定义返回变量
随机函数:${__Random}
计数器:${__counter(,)} 创建多个用户等
===========================================================
精华:sampler
支持语言:bean shell(最早)、js(应用范围最广)、groovy(性能最好)
内置变量:
vars
log
samplerresult
 
counter加用户可以保证不重复
============================================================
六、JMeter常用测试元件
 
1.线程组
 
用来管理执行性能测试所需的JMeter线程。
 
a.可以设置线程数量
 
b.设置线程启动周期
 
c.设置执行测试脚本的循环次数
 
2.控制器
 
JMeter有两种类型的控制器:采样器和逻辑控制器。
 
采样器被用来向服务器发送请求。JMeter采样器包含:FTP Request、HTTP Request、JDBC Request等。
 
逻辑控制器用来控制JMeter的测试逻辑,特别是何时发送请求。
 
3.监听器
 
监听器提供了对JMeter在测试期间收集到的信息的访问方法。
 
4.定时器
 
JMeter线程在发送请求之间没有间歇,通过添加定时器,设定请求之间应该间隔的时间。
 
5.断言
 
可以使用断言来检查从服务器获得的响应内容。
 
6.配置元件
 
配置元件与采样器紧密关联。虽然配置元件并不发送请求,但可添加或修改请求。
 
7.前置处理器
 
会在采样器发出请求之前做一些操作。
 
8.后置处理器
 
会在采样器发出请求之后做一些操作。
 
JMeter执行顺序:配置元件=》前置处理器=》定时器=》采样器=》后置处理器=》断言=》监听器
 
--------------------------------------------------------------------------------------------------------
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

【Fine学习笔记】Jmeter笔记的更多相关文章

  1. hadoop2.5.2学习及实践笔记(二)—— 编译源代码及导入源码至eclipse

    生产环境中hadoop一般会选择64位版本,官方下载的hadoop安装包中的native库是32位的,因此运行64位版本时,需要自己编译64位的native库,并替换掉自带native库. 源码包下的 ...

  2. Python学习的个人笔记(基础语法)

    Python学习的个人笔记 题外话: 我是一个大二的计算机系的学生,这份python学习个人笔记是趁寒假这一周在慕课网,w3cschool,还有借鉴了一些博客,资料整理出来的,用于自己方便的时候查阅, ...

  3. 开始记录学习java的笔记

    今天开始记录学习java的笔记,加油

  4. 菜鸟教程之学习Shell script笔记(上)

    菜鸟教程之学习Shell script笔记 以下内容是,学习菜鸟shell教程整理的笔记 菜鸟教程之shell教程:http://www.runoob.com/linux/linux-shell.ht ...

  5. hadoop2.5.2学习及实践笔记(四)—— namenode启动过程源码概览

    对namenode启动时的相关操作及相关类有一个大体了解,后续深入研究时,再对本文进行补充 >实现类 HDFS启动脚本为$HADOOP_HOME/sbin/start-dfs.sh,查看star ...

  6. 深度学习Keras框架笔记之AutoEncoder类

    深度学习Keras框架笔记之AutoEncoder类使用笔记 keras.layers.core.AutoEncoder(encoder, decoder,output_reconstruction= ...

  7. 深度学习Keras框架笔记之TimeDistributedDense类

    深度学习Keras框架笔记之TimeDistributedDense类使用方法笔记 例: keras.layers.core.TimeDistributedDense(output_dim,init= ...

  8. 深度学习Keras框架笔记之Dense类(标准的一维全连接层)

    深度学习Keras框架笔记之Dense类(标准的一维全连接层) 例: keras.layers.core.Dense(output_dim,init='glorot_uniform', activat ...

  9. Elasticsearch7.X 入门学习第九课笔记-----聚合分析Aggregation

    原文:Elasticsearch7.X 入门学习第九课笔记-----聚合分析Aggregation 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. ...

  10. Elasticsearch7.X 入门学习第二课笔记----基本api操作和CRUD

    原文:Elasticsearch7.X 入门学习第二课笔记----基本api操作和CRUD 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链 ...

随机推荐

  1. Leetocde的两道丑数题目:264. 丑数 II➕313. 超级丑数

    Q: A: 用变量记录已经✖2.✖3.✖5的元素下标i2.i3.i5.表示截止到i2的元素都已经乘过2(结果添加到序列尾部的意思),i3.i5同理.这样每次可以循环可以O(1)时间找到下一个最小的丑数 ...

  2. pycharm开发flask指定ip、端口无效

    原因分析 是因为使用了pycharm的版本的问题.并不是flask框架本身的问题(不管你是如何设置的flask配置,通过加载config也好,还是通过run的时候传入形参也好,均不影响) 可以很明显的 ...

  3. const与#define的区别、优点

    const与#define的区别 编译器处理方式不同 define宏是在预处理阶段展开. 补充:预处理器根据以#开头的命令,修改原始的程序.比如我们常见的#include <stdio.h> ...

  4. Refusing to install package with name "webpack" under a package

    最近学习webpack 知识时 下载依赖结果报了这个错 查阅资料后发现是 这个name 不能使用所需要安装包的名字! 换为其他之后 再次操作命令 就没问题了

  5. 利用mnist训练集生成的caffemodel对mnist测试集与自己手写的数字进行测试

    从一到二:利用mnist训练集生成的caffemodel对mnist测试集与自己手写的数字进行测试 通过从零到一的教程,我们已经得到了通过mnist训练集生成的caffemodel,主要包含下面四个文 ...

  6. ES6 Set和Map的那点事

    Set  1.Set特点 类数组 新增数据结构 是构造函数 成员值唯一  注重独一无二的特征 2.Set实例的常用方法 console.log('------------Set操作方法-------- ...

  7. ubuntu建立软链接注意事项

    ln 参数 源文件 目标链接文件 -s:代表新建一个软链接,又称符号链接: eg.  ln -s /mnt/d/Documents/source.xlsx target.xlsx 1.目标文件的后缀名 ...

  8. 2019冬季PAT甲级第一题

    #define HAVE_STRUCT_TIMESPEC #include<bits/stdc++.h> using namespace std; ][]; ][]; ]; string ...

  9. cordova的安装与配置

    1.安装nodejs(自动包含npm) 2.在命令行中通过npm语句npm install -g cordova 安装cordova(如果提示网络连接失败,需要设置网络代理,搭理网址:npm conf ...

  10. MYSQL的索引类型:PRIMARY, INDEX,UNIQUE,FULLTEXT,SPAIAL 区别与使用场合

    normal 普通索引   unique 唯一的,不允许重复的索引 该字段信息保证不会重复例如身份证号用作索引时,可设置为unique full textl 全文搜索的索引 FULLTEXT 用于搜索 ...