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. 在Maven普通项目上添加Web app的支持

    项目右键____> Add Frameworks Support

  2. Ubuntu16.04下使用ufw保护docker容器

      ufw屏蔽服务器非docker容器应用端口没有任何问题.问题出在屏蔽不了容器应用对应端口.排除了"ufw使用不当"."docker-compose.yml端口映射不正 ...

  3. oracle实现通过logminer实现日志抓取分析

    场景:现场库到前置库. 思考:使用触发器? 1.侵入性解决方案 2.需要时各种配置,不需要时又是各种配置 Change Data Capture:捕捉变化的数据,通过日志监测并捕获数据库的变动(包括数 ...

  4. TaskManager任务管理工具类

    TaskManager任务管理工具类 public class TaskManager { public static AbstractTask newTask(TaskContext taskIns ...

  5. .NET平台系列21:云原生时代 .NET5 雄霸天下

    系列目录     [已更新最新开发文章,点击查看详细] 随着互联网持续高歌猛进,相关技术名词也是层出不穷.微服务.容器化.DevOps.ServerLess.FaaS,这两年最火的当属云原生Cloud ...

  6. application/octet-stream二进制流, springboot项目, postman 测试参数设置

    这里使用 原生String接受,之后解析,

  7. Python小白的数学建模课-07 选址问题

    选址问题是要选择设施位置使目标达到最优,是数模竞赛中的常见题型. 小白不一定要掌握所有的选址问题,但要能判断是哪一类问题,用哪个模型. 进一步学习 PuLP工具包中处理复杂问题的字典格式快捷建模方法. ...

  8. 谷歌chrome浏览器network中Stalled分析和优化

    谷歌chrome浏览器network中Stalled分析和优化 问题由来 最近项目上要求首页的加载速度,查看浏览器的network发现接口加载速度非常慢. 问题解决思路 SSL 网上有人因为图片加载, ...

  9. 选择合适Redis数据结构,减少80%的内存占用

    redis作为目前最流行的nosql缓存数据库,凭借其优异的性能.丰富的数据结构已成为大部分场景下首选的缓存工具. 由于redis是一个纯内存的数据库,在存放大量数据时,内存的占用将会非常可观.那么在 ...

  10. Java中最大的数据结构:LinkedHashMap了解一下?

    前言 Map 家族数量众多,其中 HashMap 和 ConcurrentHashMap 用的最多,而 LinkedHashMap 似乎则是不怎么用的,但是他却有着顺序.两种,一种是添加顺序,一种是访 ...