全网最详细的Jmeter自动化测试

🍅 视频学习:文末有免费的配套视频可观看

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

1、Jmeter的安装与部署

1.1 环境要求

jdk1.8、配置jdk环境变量(JAVA_HOME:C:\Program Files\Java\jdk1.8.0_101 Path:;%JAVA_HOME%\bin; CLASSPATH:%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar)

1.2 安装Jmeter

参考Jmeter的下载及安装

1.3 配置Jmeter环境变量

参考配置Jmeter环境变量

1.4 Jmeter的使用

找到jmeter安装路径的bin文件夹(我的电脑是D:\server\apache-jmeter-5.3),如下图

双击jmeter.bat后若显示如下界面即运行成功

手写自动化测试脚本(不建议用)

通过录制系统生成自动化测试脚本(推荐用)

2.1 设置代理服务器

进入浏览器设置,找到如下目录(图片不清则双击查看)

Google浏览器参考如下界面

Edge浏览器参考如下界面

如下图进入计算机代理设置,打开使用代理服务器,地址写http://localhost,端口写8888(尽量不使用8080)。若下方有保存按钮,则需要点击按钮保存,然后浏览器代理服务器设置完毕

2.2 浏览器证书设置

浏览器证书设置:打开浏览器设置中的高级设置

Google浏览器参考如下界面

Edge浏览器参考如下界面

2.2.1 添加证书

打开管理证书后选择受信任的根证书颁发机构点击导入,进入jmeter安装目录Bin文件夹

2.3 创建线程组及Http代理服务器

2.3.1 创建线程组

选中测试计划,右键,选择添加->线程->线程组,即可新建线程组

将线程组命名为绩效考核系统自动化测试

2.3.2 在线程组中添加一个录制控制

2.3.3创建Http代理服务器

选中测试计划(若界面中含有工作台,换成选中工作台,执行新建Http代理服务器的操作),右键,选择添加->非测试元件->Http代理服务器,即可新建Http代理服务器

端口设为8888,与3.1中设置的代理服务器的端口相同;目标控制器选择 测试计划>绩效考核系统自动化测试

2.4 录制系统测试脚本(以绩效考核系统为例)

2.4.1 录制脚本

点击代理服务器右侧里面的启动录制按钮,弹出一个根证书的弹窗,点击确定。

进入系统登录界面,如图所示,jmeter已经开始录制

进入系统后,选择几个打分项,点击停止录制

如下图我们可以看到,我们与系统进行的交互行为,已经被录制成了脚本

这时,我们可以关闭代理了,否则会影响上网

2.4.2 创建HTTP请求默认值

选中测试计划,右键,添加->配置元件->HTTP请求默认值,新建完成后,将HTTP请求默认值放在目录最上方(只要是配置类文件,最好都放在目录最上方)

在HTTP请求默认值设置默认协议为http,默认ip或者服务器为10.17.18.24,其他内容视情况而定

在请求默认值设置好默认参数后,可以将线程组的每个请求的参数删除,这样http请求参数就会默认HTTP请求默认值里的参数值。

重点!!!

可以在录制测试脚本之前就创建好HTTP请求默认值,这样录制出来的脚本也会默认为HTTP请求默认值里的参数值

3、修改自动生成的测试脚本

3.1 获取登录token


选中登录,右键,添加->后置处理器->JSON提取器,获取用户登录token

3.2 配置token参数

如下图所示,进入getinfo请求的http信息头管理器,将参数Authorization对应的值修改成Bearer ${token}(JSON提取器获取的登录令牌)

后面的每个请求,都要修改上述参数。

3.3 添加监听器

选中测试计划,右键,添加->监听器,可以添加如下图所示的监听器(如察看结果树、汇总报告、聚合报告、汇总图)

添加完成之后如下图所示

3.4 后置处理器

添加BeanShell后置处理器,设置接收的响应消息的编码格式(UTF-8)

3.5 定时器

后续待完善

4、遇到的问题

org.apache.http.NoHttpResponseException: failed to respond 问题解决

证书问题

最后,在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接【点击文末小卡片免费领取资料文档】 

B站强推!建议所有想学自动化测试的,死磕这个视频,2024年字节最新内部教程,全程干货无废话!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/496886.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java工程师面试突击中华石杉,开发人员必学

如何高效的学习MyBatis源码呢? 市面上真正适合学习的MyBatis资料太少,有的书或资料虽然讲得比较深入,但是语言晦涩难懂,大多数人看完这些书基本都是从入门到放弃。学透MyBatis源码难道就真的就没有一种适合大多数同学的方法吗&am…

【笔记】深度学习入门:基于Python的理论与实现(六)

深度学习 深度学习是加深了层的深度神经网络 加深网络 本节我们将这些已经学过的技术汇总起来,创建一个深度网络,挑战 MNIST 数据集的手写数字识别 向更深的网络出发 基于33的小型滤波器的卷积层。激活函数是ReLU。全连接层的后面使用Dropout层。基…

4_怎么看原理图之协议类接口之SPI笔记

SPI(Serial Peripheral Interface)是一种同步串行通信协议,通常用于在芯片之间传输数据。SPI协议使用四根线进行通信:主设备发送数据(MOSI),从设备发送数据(MISO)&#x…

机器学习-强化学习扩充

AI RL DL 基于Action,Enviroment给予Reward enviroment是对手 alpha go is supervised learning reinforcement learning 学两个agent,让两个互相沟通。 使用一些预定义的规则来判断对话的好坏。 更多应用 强化学习的困难就是奖励延迟…

android后端开发书籍,阿里内部核心Android进阶手册

努力的人,应该像好色那样好学 做Android开发的同学,对Gradle肯定不陌生,我们用它配置、构建工程,可能还会开发插件来促进我们的开发,我们必须了解Gradle,而不仅限于只会当配置构建工具,我想学习…

only office-用着确实很省心

小程一言 最近一直在使用各种办公软件进行学习笔记整理,但是在使用过程中,总感觉不是自己想要的一款软件,想要一款真正懂自己的软件,是一个选择的过程。最近在网上闲逛发现一款宝藏软件,好奇心驱使我去进行适用&#…

【MySQL】基本查询(表的增删改查)-- 详解

CRUD:Create(创建),Retrieve(读取),Update(更新),Delete(删除)。 一、Create insert [into] table_name [(column [, column] ...)] v…

Jenkins与服务器时间不一致

问题复现 今天在Jenkins上设置定时部署项目时,发现Jenkins显示的时间与Linux系统显示的时间不一致,这太难过了,必须保持颗粒度一致。 解决办法 ①查看当前服务器上的时区 因为是CentOS系统,直接通过以下命令即可查看时区&#xf…

Java Stream流指南:优雅处理集合数据

文章目录 一、为什么要使用stream流呢?二、如何获取Stream流?三、Stream流的中间方法四、Stream流的终结方法总结 一、为什么要使用stream流呢? 想必我们在日常编程中,会经常进行数据的处理,我们先来看看没有stram流时…

要在Javascript中实现表格新增行功能,且添加元素,增删操作

起始表格元素&#xff1a; <!-- table>(thead>tr>th*6)(tbody>tr>td*6) --><div class"container"><table id"myTable"><caption><h3>员工信息管理系统</h3></caption><thead><tr>&…

Java设计模式 | 七大原则之迪米特法则

基本介绍 一个对象应该对其他对象保持最少的了解类与类关系越密切&#xff0c;耦合度越大迪米特法则&#xff08;Demeter Principle&#xff09;又叫最少知道法则&#xff0c;即一个类对自己依赖的类知道的越少越好。也就是说&#xff0c;对于被依赖的类不管多么复杂&#xff…

一文带你了解MySQL之B+树索引的原理

前言 学完前面我们讲解了InnoDB数据页的7个组成部分&#xff0c;知道了各个数据页可以组成一个双向链表&#xff0c;而每个数据页中的记录会按照主键值从小到大的顺序组成一个单向链表&#xff0c;每个数据页都会为存储在它里边儿的记录生成一个页目录&#xff0c;在通过主键查…