jmeter安装及使用

一些理论:

负载和压力的区别:

负载测试:在一定的工作负荷下,给系统造成的负荷及系统响应的时间。

压力测试:在一定的负荷条件下,长时间连续运行系统给系统性能造成的影响


TPS和QPS的区别:

tps可以理解为是每秒对事务的处理的能力  qps是每秒对服务器的查询能力


性能测试:

性能测试包含web端和app端测试


App端的性能指标:

Cpu内存  流量  电量 启动时间  帧率

cpu  <80%内存  <80%

电量的损耗:

流量的损耗:


web端的性能指标:

https://www.cnblogs.com/flyr/p/5509451.html  (web端的性能指标详情链接)

响应时间(客户端向服务端的请求时间,服务端对数据库的请求时间,服务端将结果展现到页面的时间)

响应时间 2 5 8原则  

(258原则详情链接)

https://blog.csdn.net/weixin_33739541/article/details/93169419?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

吞吐量:指的是在一次性能测试过程中网络上传输的数据量的总和.吞吐量/传输时间,就是吞吐率.

TPS:每秒处理事务能力

并发数: 单用户的多次操作

               多用户的单次操作

点击率: 每秒钟用户向WEB服务器提 交的HTTP请求数.

资源使用率:cpu占用率  <80%        内存  <80%       磁盘 io <40       网络带宽 <30%

app端的性能指标


线程与进程的区别:

一个程序至少有一个进程,一个进程至少有一个线程. 

线程的划分尺度小于进程,使得多线程程序的并发性高。

进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。


测试数据的来源:

A.复用开发的原有数据 b.复用线上的真实数据c.直接使用线上数据 d.测试人员手动添加

E:产品或者是运营提供数据


下载jmenet

官网:https://jmeter.apache.org/ 

jmenet版本要和jdk版本相匹配 不然会导致安装失败


点击下载

下载完成后解压文件到自定义文件夹

需要配置jmeter环境变量

1 新增新增JMETER_HOME系统变量


2 编辑CLASSPATH变量,加上%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;


完成以上步骤就可以双击Jmeter中bin目录下面的jmeter.bat文件即可打开Jmeter了


出现下面图片代表安装成功



jmeter使用

切换成中文

创建一个线程组



设置http请求

接口地址:http://apis.juhe.cn/simpleWeather/query

返回格式:json

请求方式:http get/post

请求示例:http://apis.juhe.cn/simpleWeather/query?city=%E8%8B%8F%E5%B7%9E&key=

接口备注:通过城市名称或城市ID查询天气预报情况\


添加http请求

添加结果树


运行

是否保存记录

很明显我请求失败了

修改端口号为80 请求成功

类似于筛查功能

添加聚合报告

可以看见执行的详细信息(在线程组修改线程数为300(压力测试) 时间为2 循环次数为1)

Jmetere的断言

添加断言如果返回值与断言相同成功否则失败

Jmeter的参数化关联  都是用${变量名}

一个变量对应一个变量值


添加一条信息

一个变量对应多个变量值




使用csv文件方式

Jmeter的对数据库链接(对数据库进行压力测试)

添加mysql的jar包


在线程组添加





设置线程数然后添加结果数进行测试

web端录制

首先要有badboy 如果没有可以自行去官网悄悄下载一个

有了badboy之后打开它点击上方工具栏的小红点进行录制


在badboy中输入要测试的web项目的网址(例如 百度 w w w.baidu.com)


接下来就开始点击需要测试的地方 任性一点喜欢哪里点哪里也可以

点够了我们就停止录制



生成.jmx文件


在jmeter中导入刚刚生成的.jmx文件

可以查看接口请求的数据,也可以对其进行压力,性能测试(不知道怎么测试可以看一看之前的内容)

添加结果树,聚合报告(不知道怎么添加可以看一看之前的内容)

app端录制

模拟器长按wifi点击修改网络查看(设置)端口号和ip


点击启动后开始录制

对移动端设备进行操作

查看结果

可以查看接口请求的数据,也可以对其进行压力,性能测试(不知道怎么测试可以看一看之前的内容)

添加结果树,聚合报告(不知道怎么添加可以看一看之前的内容)


正则提取器

添加http请求

然后我们要创建一个正则表达式


一些常用的正则表达

$-1$:表示取所有值

$0$:表示随机取值

$1$:表示取第1个

$2$:表示取第二个

$n$:表示取第n个

():括起来的部分就是要提取的

. :匹配任何字符

+ :一次或者多次

* :所有字符串

? :在找到第一个匹配项后停止

模板:表示使用提取到的第几个值

匹配数字(0表示随机): 0表示随机,1代表全部取值

缺省值:如果正则表达式没有找到值,则使用此缺省值


然后添加结果树,点击运行就可以查看详细的数据

可以查看接口请求的数据,也可以对其进行压力,性能测试(不知道怎么测试可以看一看之前的内容)

添加结果树,聚合报告(不知道怎么添加可以看一看之前的内容)

对应的正则规则:

赠送一道题

Jmeter的正则提取器面试题:

在一个线程组中,B请求需要使用A请求返回的数据,也就是常说的关联,将上一个请求的响应结果作为下一个请求的参数,则需要对A请求的响应报文使用后置处理器,其中最方便最常用的就是正则表达式提取器了。

你可能感兴趣的:(jmeter安装及使用)