JMeter 入门级 项目实战版

入门级 实战

记录第一次实实在在用JMeter测试项目的完整流程(就目前我这个渣渣而言,是完整的流程了,肯定是还有很多流程是我不知道的哦!!!

添加线程组

测试计划 - 添加 - 线程(用户) - 线程组 - 填写线程数、间隔运行时间、循环次数
在这里插入图片描述
在这里插入图片描述

添加HTTP请求

线程组 - 添加 - 取样器 - HTTP请求
在这里插入图片描述
填写相应的参数,如果有自定义的参数记得添加用户自定义变量,然后再http请求中参数用${XXX}表示。如果是普通参数,就在参数栏写,如果是JSON格式就在消息体数据栏写,记住这两个是不能同时存在的,当一方填写了数据另一方是点不开的!!!
在这里插入图片描述
在这里插入图片描述

用户定义的变量

线程组 - 添加 - 配置原件 - 用户定义的变量
在这里插入图片描述
添加对应的参数,非数字一定要记得加上双引号哦!!!(亲自踩过的坑)
在这里插入图片描述

添加请求头

有请求头的请在这里设置哦!!! 线程组 - 添加 - 配置原件 - HTTP信息头管理器
在这里插入图片描述
在这里插入图片描述

察看结果树

线程组 - 添加 - 监听器 - 察看结果树
在这里插入图片描述
在这里插入图片描述
stop是直接强制停止,X叉叉是慢慢关闭线程
在这里插入图片描述

在这里插入图片描述

聚合报告

在这里插入图片描述
在这里插入图片描述
聚合报告分析:
1、Lable:http请求的名称;

2、#样本:英文版也叫#Samples,这里表示这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100;(我的是用户有1000,只迭代一次,但是这里却是700多???继续研究究~~~)

3、平均值(Average):平均响应时间,默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间;

4、中位数(Median):中位数,也就是 50% 用户的响应时间;

5、90%百分位:90%用户的响应时间;

6、95%百分位:95%用户的响应时间;

7、99%百分位:99%用户的响应时间;

8、最小值(Min):最小响应时间;

9、最大值(Maximum):最大响应时间;

10、异常%(Error%):本次测试中出现的错误率,即错误的请求的数量/请求的总数;

11、吞吐量(Throughput): 默认情况下表示每秒完成的请求数(Request per Second),单位时间内处理完的请求越多,说明系统的效率越高;

12、接收KB/sec(Received KB/sec):每秒从服务器端接收到的数据量;

13、发送KB/sec(Sent KB/sec):每秒从客户端发送的请求的数量。

简单版-日志保存

这个是最基础的日志保存方式,自己可以写脚本导出更有用的日志,但是这个我正在研究中~后续更新
在这里插入图片描述
按自己的理解大概翻译了一下
在这里插入图片描述
在这里插入图片描述

聚合报告,上面的保存文件是保存如上图所示的文件,下面的保存表格数据就是保存的下图中表格里面的数据啦,是有区别的哦~~~
在这里插入图片描述

BeanShell 后置处理程序

自己写脚本看日志来咯~~~

HTTP请求 - 添加 - 后置处理器 - BeanShell PostProcessor (还有前置的、断言的BeanShell,用法大同小异,继续学习ing…)
在这里插入图片描述
也可以**引入已经写好的java文件,用source(“D:\demo\xxx.java”)**就行了
在这里插入图片描述
放上代码

import java.io.FileWriter; 
import java.io.IOException;

//获取返回参数和code
String returnData = prev.getResponseDataAsString();
String code = prev.getResponseCode();

//控制台打印
log.info("====================================");

log.info("返回数据:" + returnData);
log.info("返回code:" + code);
log.info("返回message:" + message);
//获取BeanShell参数
log.info("获取BeanShell参数:" + bsh.args[0] + " , " + bsh.args[2] + " , " + bsh.args[1] + " , " + bsh.args[4] + " , " + bsh.args[3]);
//获取用户定义的变量
log.info("当前时间:" + vars.get("nowTime"));

log.info("====================================");

if(returnData.contains("\"statusCodeatus\":200") && code.equals("200")){
	Failure = false;
	FailureMessage = "\n${__time(yyyy-MM-dd HH:mm:ss,)}   断言成功";
}else{
	Failure = true;
	//${__time(yyyy-MM-dd HH:mm:ss,)} = 当前时间
	FailureMessage = "\n${__time(yyyy-MM-dd HH:mm:ss,)}   断言失败\n响应信息\n" + returnData + "\n返回值\n" + code;
	//生成日志
	String fileName = "D:/log/test1.doc";
	FileWriter fw = new FileWriter(fileName, true);
	fw.write(FailureMessage);
	fw.write("\r\n");
	fw.close();
}

是不是看错误日志就方便多了啊,哈哈哈哈哈哈
在这里插入图片描述

BeanShell 断言

说到断言的Failure 和 FailureMessage 补充一下,比如果后台没有报错但是返回错误码,这时怎么捕捉呢,也是可以用到这两个的,设置Failure = true,就会报错啦!!!
设置BeanShell 断言更方便
在这里插入图片描述
里面的代码跟上面,我是一样写的。
在这里插入图片描述

总结

目前俺知道的就这么点了,小白一个,有不足之处多多指导哦!!!
学无止境,希望来个大神做我的明灯!!!后续继续学习将持续更新…

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
课程从基础讲起,全课程以实战为主,每个知识点通过实际案例演练讲解理论+实践结合,更容易理解,适合小白,低门槛,快速上手。 课程同时涵盖web端和移动端app测试,同时还加入了抓包工具的使用; 1) 第一阶段为JMETER 5.4.1 (最新本)工具使用篇,通过Jmeter 介绍和安装、http 取样器、JDBC 取样器、JMETER 组件详细讲解、配置元件、三种参数化方式教你玩转JMETER 参数化、工作过程中间所需的常用函数、聚合报告、察看结果树、汇总报告等监听器知识,后置处理器、后置处理器之正则表达式提取器提取响应内容实践、读取本地JSON格式文件实例、正则表达式操作符、正则表达式工具之Regextester,系统全面学习正则表达式,突破JMETER 知识难点,响应断言、JMETER分布式、分布式原理、搭建JMETER 分布式、WebService协议接口测试。 每一个知识点采用理论加案例的方式,吃透每一个知识点,为性能测试实践奠定基础。 2) 第二阶段为性能测试实践篇1、通过JMETER 实践爬虫技术,爬取第三方平台全网页地址、批量爬取国外网站壁纸10W+图片并保存到本地;2、详细介绍Fiddler 抓包工具,Fiddler 抓包工具原理、Fiddler 抓取PC 端和移动端包信息、JMETER+Fiddler 结合使用对PC 端项目进行性能测试项目实践,提升PC 端性能测试能力;3、JMETER+Fiddler  结合使用对app 项目进行性能测试项目实践,提升app项目性能测试能力4、性能测试常见的业务指标和技术指标、响应时间、TPS、HPS等知识进行讲解5、通过JMETER 对移动端项目进行性能测试实战; 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值