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. Cannot resolve class or package 'mysql’处理方法

    在application.properties中配置mybatis_plus碰见报了这个错误 Cannot resolve class or package 'jdbc' 错误产生的原因 其实这个问题 ...

  2. Nginx 配置实例-配置高可用

    Nginx 配置实例-配置高可用 1. 实现效果 2. 两台机器 nginx 的安装 2.1 192.168.25.120 中 nginx 的安装 2.1.1 安装 pcre 依赖 2.1.2 安装其 ...

  3. Nginx 配置实例-配置虚拟主机

    Nginx 配置实例-配置虚拟主机 配置基于域名的虚拟主机 1. 配置域名为 aaa.domain.com 的虚拟主机 1.1 nginx 中虚拟主机的配置 1.2 相关目录及文件的创建 1.3 验证 ...

  4. clone() java 简单的复制

      Java的复制有的 deepcopy 和 shapecopy 之分,这里简单的采用shapecopy  的 clone ( ) 方法, 但是指向的是同一个对象, 关于对象的问题,这里不做展开: / ...

  5. modelMapper使用,将数据库查询对象直接转成DTO对象

    1.pom引入 <dependency> <groupId>org.modelmapper</groupId> <artifactId>modelmap ...

  6. YOLO v1到YOLO v4(上)

    YOLO v1到YOLO v4(上) 一.  YOLO v1 这是继RCNN,fast-RCNN和faster-RCNN之后,rbg(RossGirshick)针对DL目标检测速度问题提出的另外一种框 ...

  7. HarmonyOS技术特性

    HarmonyOS技术特性 硬件互助,资源共享 多种设备之间能够实现硬件互助.资源共享,依赖的关键技术包括分布式软总线.分布式设备虚拟化.分布式数据管理.分布式任务调度等. 分布式软总线 分布式软总线 ...

  8. PyTorch中的MIT ADE20K数据集的语义分割

    PyTorch中的MIT ADE20K数据集的语义分割 代码地址:https://github.com/CSAILVision/semantic-segmentation-pytorch Semant ...

  9. java基础第一节课随笔

    第一题:1.定义一个HelloWold类2.在类中定义主方法3.在主方法中使用输出语句在dos控制台打印HelloWorld 打印结果如:HelloWorld4.在案例中使用当行注释.多行注释添加相关 ...

  10. 实验5、Flask设计模式和Web服务体验

    1. 实验内容 Flask appbuilder包括基本的表单验证,内置管理模块.本节主要学习Flask appbuilder的后台管理模块使用和对Flask设计模式拓展作简要介绍 2. 实验要点 掌 ...