Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件。

jmeter也可以用来做接口自动化

一、jmeter基础

1.1 jmeter的执行顺序

1,执行配置元件
2,前置处理器
3,定时器
4,取样器
5,后置处理程序
6,断言
7,监听器

1.2 jmeter的支持的请求类型

1.http请求

2.java请求

3.数据库请求

把jdbc的包放到jmeter的lib文件夹下

4.webservice请求

在jmeter3.2版本之后,就不支持这种方式,但是可以用http请求实现

5.tcp请求

等等。。。

1.3 jmeter的检查点

1.4 jmeter的if判断

1.5 jmeter的集合点

二、jmeter参数化

2.1 文本参数化

1.jmeter文本值传递,直接就是值,没有字段名。
线程数是指用户数
线程中的循环次数是指迭代次数
循环控制器的循环次数是相当于action中的for循环
2.参数化取值策略
All threads 唯一+每次迭代
Current threads 顺序+每次迭代
Current threads group 线程组内用唯一,线程组外用顺序。
区别
All threads 每个用户,每次取值都不一样。
3.参数编码格式
请求的编码格式在HTTP请求中配置
服务器返回的编码格式在jmeter.properties文件中配置

2.2 用户定义的参数

1.时间参数

${__time(yyyyMMddHHmmss,)}

2.随机参数

${__Random(100000000000001,999999999999999)}

三、jmeter关联

jmeter关联是用正则表达式来实现

1.元字符

.

2.限定符

代表/语法 说明
* 重复0次或者更多次
+ 重复1次或者更多次
重复0次或1次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n次到m次

四、jmeter结果查看

4.1 查看结果树

4.2 聚合报告

4.3 保存结果到文件

用beanshell编写脚本实现

 1 import java.io.*;
2
3 String fileName = "D:/xiaolin/jmetertest/data3/orderId1.txt";
4 String result = "${orderId}";
5
6 BufferedWriter out = null;
7
8 try {
9 File file = new File(fileName);

10 if(!file.exists()){
11 file.createNewFile();
12 }
13
14 out = new BufferedWriter(new FileWriter(file,true));
15
16 out.write(result+ ",\n");
17
18 out.flush();
19 } catch (Exception e) {
20 e.printStackTrace();
21 } finally {
22 try {
23 out.close();
24 } catch (IOException e) {
25 e.printStackTrace();
26 }
27 }

五、jmeter非GUI执行命令

jmeter.bat -n -t G:\jmTest\Baidu.jmx -l G:\jmTest\01-reslut.jtl

六、jmeter无页面分布式压测

1.将脚本和参数文件放在各个终端相同目录下

2.将每台终端的jmeter-server.bat打开,等待主机发起压测

3.在主机命令窗口输入如下命令:

jmeter.bat -n -t G:\jmTest\Baidu.jmx -R 192.168.1.23:1100,192.168.1.25:1200 -l G:\jmTest\01-result.jtl

命令中-R代表远程 remote ,后面跟随的是每台终端机jmeter-server窗口显示的 ip 和端口,同样,多台终端之间由逗号隔开,其他都与单机命令一样。于是可以看到各台终端机的jmeter-server窗口有关运行和阶段性summary的信息直至运行结束。总体的报告都在你主机保存的那个.jtl文件里。

Jmeter使用笔记001的更多相关文章

  1. gogs 源码阅读笔记 001

    gogs 源码阅读笔记 001 gogs项目相当不错,本笔记实际是基于gogs fork版本 git-122a66f. gitea (gitea版本由来)[https://blog.gitea.io/ ...

  2. [Oracle]OWI学习笔记--001

    [Oracle]OWI学习笔记--001 在 OWI 的概念里面,最为重要的是 等待事件 和 等待时间. 等待事件发生时,需要通过 P1,P2,P3 查看具体的资源. 可以通过 v$session_w ...

  3. TensorFlow机器学习框架-学习笔记-001

    # TensorFlow机器学习框架-学习笔记-001 ### 测试TensorFlow环境是否安装完成-----------------------------```import tensorflo ...

  4. Web前端学习笔记(001)

    ....编号    ........类别    ............条目  ................明细....................时间 一.Web前端学习笔记         ...

  5. Jmeter使用笔记之断言

    前言 Jmeter的断言方式有很多种,由于在工作中经常做的是API接口测试,所以这篇文章主要介绍如何对接口的字段进行解析,如何对解析出来的字段的值断言 了解API接口 Restful API 规范 协 ...

  6. [python学习手册-笔记]001.python前言

    001.python前言 ❝ 本系列文章是我个人学习<python学习手册(第五版)>的学习笔记,其中大部分内容为该书的总结和个人理解,小部分内容为相关知识点的扩展. 非商业用途转载请注明 ...

  7. Jmeter学习笔记TWO

    使用非GUI模式运行Jmeter脚本并自动生成测试报告 命令:jmeter -n -t tougu.jmx -l result.jtl -e -o /tmp/ResultReport 这个命令是用于执 ...

  8. Jmeter学习笔记ONE

    最近想学一些关于性能测试方面的知识,其实之前已经初步了解了Jmeter工具,它是一个轻量级的性能测试工具,开源并且免费,相比于Loadrunner来说用起来更简便. JMeter 可以用于对服务器.网 ...

  9. jmeter使用笔记

    接口测试 http协议 接口分成两类,一类是查询功能的接口,一类是保存数据功能的接口. 保存逻辑:数据传入进来,验证通过.保存到数据表中 使用jmeter接口测试的步骤 1.首先添加线程组. 2.配置 ...

随机推荐

  1. Java中如何将函数名作为参数传递

    采用lambda表达式: import java.util.function.Function; class Test { public static void main(String... args ...

  2. Django(49)drf解析模块源码分析

    前言 上一篇分析了请求模块的源码,如下: def initialize_request(self, request, *args, **kwargs): """ Retu ...

  3. Django(51)drf渲染模块源码分析

    前言 渲染模块的原理和解析模块是一样,drf默认的渲染有2种方式,一种是json格式,另一种是模板方式. 渲染模块源码入口 入口:APIView类中dispatch方法中的:self.response ...

  4. OFRecord 数据格式

    OFRecord 数据格式 深度学习应用需要复杂的多阶段数据预处理流水线,数据加载是流水线的第一步,OneFlow 支持多种格式数据的加载,其中 OFRecord 格式是 OneFlow 原生的数据格 ...

  5. 3D点云点云分割、目标检测、分类

    3D点云点云分割.目标检测.分类 原标题Deep Learning for 3D Point Clouds: A Survey 作者Yulan Guo, Hanyun Wang, Qingyong H ...

  6. 如何在TVM上集成Codegen(上)

    如何在TVM上集成Codegen(上) 许多常用的深度学习内核,或者提供DNNL或TensorRT等框架和图形引擎,让用户以某种方式描述他们的模型,从而获得高性能.此外,新兴的深度学习加速器也有自己的 ...

  7. 最新版robotframework4.0.3版本安装

    python最新版本已经到了3.9了.对应的最新版本也更新到robotframework4.0.3. robotframework支持的自动化测试的类型以及需要的库: 1.ui自动化测试:Seleni ...

  8. java处理方法的多个返回值

    我第一次接触到元组是在java编程思想这本书中,当时我正为方法的多个返回值苦恼.因为我之前处理多个返回值方法的时候,要不建一个新的实体类,要不在接收的方法中建立一个对象,返回值之前给其赋值,要不通过异 ...

  9. 【模拟8.03】数颜色(vector//主席树)

    才知道vector在插入值后是可以直接修改的... 那就很简单了 用vector的lowerbound这样的二分操作,提前储存每个颜色的位置 发现交换相对位置不变 关于vector的lowerboun ...

  10. C程序从编译到运行

    第一篇文章 一.前言 最近在看CSAPP(深入理解计算机系统)然后以前也学过C语言,但是从来没有深究写好的C代码是怎么编译再到执行的. 所以现在自己学习,然后记录下来. 以最常用的hello worl ...