软件测试jmeter基本使用

 1安装与配置

1.jdk下载

下载地址:https://www.oracle.com/java/technologies/downloads/#jdk18-windows(压缩包中会给)

 

 

 2.jmeter下载

Apache JMeter - Download Apache JMeter(压缩包中有)

 3.操作教学

打开软件后新建计划(新用户不用)

1.添加线程组

线程组——选择测试计划,右键-->添加-->线程-->线程组

补充

(1)线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。

(2)准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为20 ,准备时长为10 ,那么需要10秒钟启动20个线程。也就是每秒钟启动2个线程。

(3)循环次数:每个线程发送请求的次数。如果线程数为20 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。

2.HTTP请求——选择线程组:右键-->添加-->取样器-->HTTP请求

作用:录入接口请求参数信息

 (1)请求名称,可不改

(2)Web服务器信息,网络协议(http/https)、域名或IP、端口号,可自行修改

(3)接口请求:请求方法(post/get)、请求路径、编码格式(utf-8),可自行修改

(4)参数传递:消息体数据存储JSON信息

http请求填写以这个为例

注意请求URL 、请求方法、请求负载 与下面类容相对应(名称自定义)

这里用户名密码是{"username": "NMG0001", "password": "123456", "nodeCode": "ZHYZ_BOSS"}

3.HTTP信息头管理器——选择线程组:右键-->添加-->配置元件-->HTTP信息头管理器

作用:可以存储请求头里面的信息

 

4.查看结果——选择线程组:右键-->添加-->监听器-->查看结果树

作用:查看接口运行结果 

 

运行后 

 5.Http请求默认值——选择测试计划:

右键-->添加-->配置元件-->HTTP请求默认值

可以将后续线程或者Http请求公共的内容提取出来共同使用

比如协议和服务器ip等

原本的Http请求就可以改为

加了http请求默认值之后,在单个http请求里面还填写了同样的数据,那么以哪个为准就近原则——就近原则!

6.Beanshell后置处理器——选择线程组:

右键-->添加-->后置处理器-->Beanshell后置处理器

Beanshell后置处理器处理接口加入prev.setDataEncoding("utf-8") 返回中文的解析

7.接口与线程之间的传参 需求:

登录接口的返回token传给查询列表接口

①json提取器

(1)添加json提取器:右键http请求-》添加-》后置处理器-》json提取器,JSON提取公式:$..字段名

我是取的token(Authorization)

 添加调试后置处理器便于查看

 ②正则表达式 (1)添加正则表达式:右键http请求-》添加-》后置处理器-》正则表达式提取器

 参数说明: 引用名称:下一个请求要引用的参数名称,如token ,则可用${token }引用。

正则表达式:():要提取的部分

 .:匹配任何字符串。

 *:零次一次或多次。

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

模板:用$$引用起来,如果表达式中有多个表达式,用$1$$2$...,如"data":"(.*?)","id":"(.*?)", 模板为: $1$$2$

 匹配数字:0代表随机取值,-1代表全部取值,一般默认0

缺省值:选中的情况下,若没有取得到值,给出默认值。 

 账号从文件表格中获取

8.参数化
(1)CSV Data Set Config方式
①新建CSV格式文件或者txt文件

 我这用的txt

 ②CSV——选择测试计划,

右键-->添加-->元件-->CSV data Sat config

 

 使用参数化变量:${变量名}

(3)数据库提取数据

①MySQL连接 拷贝解压后.jar驱动文件到JMeter安装目录“lib”文件夹下

 Jmeter中建立“JDBC Connection Configuation":配置元件 --JDBC Connection Configuation

 ①MySQL连接

参数说明:

a) Variable Name: 数据库连接池的名称,可以有多个jdbc connection configuration,每个可以起个不同的名称,与JDBC Request中Variable Name必须保持一致

b) Database URL: 数据库url,jdbc:mysql://主机ip或者机器名称:mysql监听的端口号/数据库名称, 如: jdbc:mysql://localhost:3306/test

c) JDBC Driver class: com.mysql.jdbc.Driver

d) username:数据库登录的用户名

e) passwrod:数据库登录的密码

JDBC Request配置

 参数说明:

a) Variable Name:数据库连接池的名字,需要与JDBC Connection Configuration的Variable Name Bound Pool名字保持一致

b) Parameter values:参数值

c) Parameter types:参数类型

d) Variable names:保存sql语句返回结果的变量名

e) Result variable name:创建一个对象变量,保存所有返回的结果

f) Query timeout:查询超时时间 g)

Handle result set:定义如何处理由callable statements语句返回的结果 

②JDBC Request配置

参数说明: SQL Query:输入sql语句;多条sql语句必须用“;”

Query Type:

Select Statement:仅支持测试select语句,并且一次只能测试一条

Callable Statement:只要语法正确,任何语句,再多的条数都能支持

如果是同时执行多条语句:JDBC Connection Configuration 中Database URL:配置中加上?allowMultiQueries=true 如:jdbc:mysql://localhost:3306/test?allowMultiQueries=true

 ③对提取的数据进行遍历

ForEach控制器 逻辑控制器->ForEach控制器

参数说明: Input Variable Prefix:输入变量前缀,本例中为:order_sn (与JDBC Requset中返回结果的Variable names:变量名一致)

Output variable name:输出变量名称,提供给其它控件引用 ,可自由命名,调用时使用该参数 Start index for loop(exclusive):循环开始的索引(默认从0开始,如果填写是2,实际是从2+1个开始执行)

End index for loop(inclusive):循环结束的索引 Add”_”before number:输入变量名称中是否使用“_”进行间隔。 

 查看结果

也可以加上 聚合报告便于观察

1.聚合报告

聚合报告中可以查看接口响应时间的情况,以及接口脚本执行过程中的错误率等情况,聚合报告中的时间单位为毫秒 响应时间主要参考平均值;测试目标对接口要求较高时参考90%

2.生成HTML格式的测试报告

dos窗口命令行方式 运行方法: ①保证cmd在Jmeter脚本所在目录打开 ②jmeter -n -t 脚本路径和名称 -l 日志名.txt -e -o 报告文件路径和目录名称 

 

如果出现这个问题

就将

 删掉

在运行指令
点击index.html 成功出现

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

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

相关文章

【MySQL数据库】SQL查询语句总结

目录 一、查询数据 1.1 基本查询语句 1.2 表单查询 1.3 WHERE子句 1.3.1 IN关键字查询 1.3.2 Between查询范围 1.3.3 Like匹配查询 1.3.4 AND多条件查询(等同于&&) 1.3.5 OR多条件查询(等同于||) 1.3.6 LIMIT子句 1.3.7 对…

【Node.js】笔记整理4 - 版本管理工具nvm

写在最前:跟着视频学习只是为了在新手期快速入门。想要学习全面、进阶的知识,需要格外注重实战和官方技术文档,文档建议作为手册使用 系列文章 【Node.js】笔记整理 1 - 基础知识【Node.js】笔记整理 2 - 常用模块【Node.js】笔记整理 3 - n…

【docker】docker安装与优化

目录 一、安装Docker 1、关闭防火墙 2、安装依赖包 3、设置阿里云镜像源 4、安装Docker-CE社区版并设置为开机自启动 5、查看Docker信息 二、设置镜像加速 1、申请加速地址 2、实现加速操作 三、网络优化 1、如何网络优化 2、具体操作 四、docker-server端配置文件…

前端:实现二级菜单(点击实现二级菜单展开)

效果 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, i…

【Excel】WPS快速按行筛选过滤

用的筛选都是进行列数据过滤&#xff0c;那么遇到一个情况需要行数据过滤查看数据 行过滤 选中行&#xff0c;然后右键菜单&#xff0c;行筛选。 列过滤

7Docker搭建es和kibana

一、安装es 1.拉取镜像 sudo docker pull elasticsearch:7.12.0 elasticsearch:7.12.0:我安装的版本是7.12.0&#xff0c;可以根据实际的情况安装 创建docker容器挂在的目录&#xff1a; sudo mkdir -p /opt/elasticsearch/config sudo mkdir -p /opt/elasticsearch/data s…

使用Python爬取快手视频与评论(App与Web端分析)

文章目录 1. APP端抓包配置2. APP端抓包分析3. Web端抓包分析4. 爬虫代码实现 【作者主页】&#xff1a;吴秋霖 【作者介绍】&#xff1a;Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作&#xff01; 【作者推荐】&#xff1a…

13:kotlin类和对象 -- 属性(Properties)

定义属性 类属性可使用var和val定义 class Address {var name: String "Holmes, Sherlock"var street: String "Baker"var city: String "London"var state: String? nullvar zip: String "123456" }属性使用 fun copyAddres…

【虚拟机】Docker基础 【一】

1.1.部署MySQL 首先&#xff0c;我们利用Docker来安装一个MySQL软件&#xff0c;大家可以对比一下之前传统的安装方式&#xff0c;看看哪个效率更高一些。 如果是利用传统方式部署MySQL&#xff0c;大概的步骤有&#xff1a; 搜索并下载MySQL安装包上传至Linux环境编译和配置…

低调使用。推荐一个 GPT4 Turbo、Vision、GPTs、DELL·E3 等所有最新功能同步可用国内网站

在 11 月 6 日&#xff0c;万众期待的 OpenAI DevDay&#xff0c;ChatGPT 发布了一系列新的产品&#xff0c;其中推出了 GPT4 Turbo&#xff0c;并且将GPT4 Vision&#xff0c;DELLE3 等等能力全部集合到一起&#xff0c;不需要再分开使用&#xff0c;原来的局限的文本聊天也进…

php订单发起退款(余额和微信支付)

index.html <a class"btn btn-danger btn-change btn-tuikuan btn-disabled" href"javascript:;"><i class"fa fa-tuikuan"></i> 订单退款</a>-->order.js // 为表格绑定事件Table.api.bindevent(table);//退款按钮…

【经验分享】openGauss 客户端(Data Studio / DBeaver)连接方式

前言 本篇介绍了openGauss常用的客户端连接工具Data Studio和DBeaver 01 客户端工具 openGauss部署之后&#xff0c;在服务器上提供了在命令行下运行的数据库连接工具gsql。此工具除了具备操作数据库的基本功能&#xff0c;还提供了若干高级特性&#xff0c;便于用户使用。…

建设“参与城市”大学--SMU在2023年绿色金融全球论坛上分享观点

2023年11月21日&#xff0c;由新加坡管理大学&#xff08;SMU&#xff0c;简称新大&#xff09;和中国人民大学&#xff08;RUC&#xff0c;简称人大&#xff09;联合主办的“绿色金融与治理&#xff1a;从承诺到行动”全球论坛在北京召开。论坛汇集了来自新加坡、中国及世界各…

【C++高阶(六)】哈希的应用--位图布隆过滤器

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:C从入门到精通⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习C   &#x1f51d;&#x1f51d; 哈希的应用 1. 前言2. 位图的概念以及定义3. 位…

记一篇Centos7安装innodb_ruby

安装innodb_ruby过程非常坎坷&#xff0c;这里记录下安装过程&#xff0c;有些坑当时没有记录下来&#xff0c;主要把完成安装过程就记录下来 yum安装ruby默认的会安装ruby2.0.0版本&#xff0c;但是在安装innodb_ruby时&#xff0c;会报错&#xff0c;提示至少需要2.4版本以上…

探索 Rollup:简化你的前端构建流程

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

Rust UI开发(四):iced中如何添加菜单栏(串口调试助手)

注&#xff1a;此文适合于对rust有一些了解的朋友 iced是一个跨平台的GUI库&#xff0c;用于为rust语言程序构建UI界面。 这是一个系列博文&#xff0c;本文是第四篇&#xff0c;前三篇链接&#xff1a; 1、Rust UI开发&#xff08;一&#xff09;&#xff1a;使用iced构建UI时…

Amazon CodeWhisperer 使用体验

文章作者&#xff1a;STRIVE Amazon CodeWhisperer 是最新的代码生成工具&#xff0c;支持多种编程语言&#xff0c;如 java,js,Python 等&#xff0c;能减少开发人员手敲代码时间&#xff0c;提升工作效率。PS:本人是一名 CodeWhisperer 业余爱好者 亚马逊云科技开发者社区为开…

模块的学习

模块合包的基本概念&#xff1a; 模块&#xff08;module&#xff09;&#xff1a;在python中&#xff0c;xx.py文件&#xff0c;就可以被看作模块 包&#xff08;package&#xff09;: 用来管理和存放模块的文件夹&#xff0c;就被称为包&…

如何集成一个TypeScript开发环境?

首先要安装个node.js。Node.js (nodejs.org) 然后我们随便建一个文件夹&#xff0c;并且打开它运行到终端 然后再运行命令&#xff1a; npm install typescript -g 成功后 尝试使用 tsc -v 查看版本 接下来再使用命令&#xff1a; tsc --init 我们在.ts文件中尝试输出一些…