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

json断言元件

json断言元件介绍

json断言元件与响应断言元件的功能类型,它只针对响应正文为json数据格 式的内容进行断言功能。

添加路径:右击http请求——断言——json断言

如下图展示:

json断言元件字段介绍

名称/注释:自定义描述性文字

Assert JSON Path exists:断言jsonpath表达式截取的值是否存在,这里输 入要检查字段的jsonpath表达式即可;可参考jmeter(10)中的jsonpath表达式介绍

Addittionally assert value:是否添加断言值, 添加的断言值和json返回的字段值 进行比较,等于特定的值。如不勾选,只比对是否返回了该json字段

Match as regular expression:断言值是否支持正则表达式

Expected Value:添加断言值

Expect null:预期空值,勾选这项,则会匹配断言结果为null的情况

Invert assertion:取反,若上述断言结果为true,勾选此项,则断言结果为false ;若上述断言结果为false,勾选此项,则断言结果为true

jmeter参数化实现

jmeter参数化

在实际的测试工作中,我们经常需要对多组不同的输入数据,进行同样的测试操作步骤,以验证我们的软件的功能。这种测试方式在业界称为数据驱动测试, 而在实际测试工作中,测试工具中实现不同数据输入的过程称为参数化设置。

jmeter提供多种参数化设置的方式

1、使用 用户定义的变量元件 实现
2、使用 用户参数元件 实现
3、使用 函数助手 实现
4、使用 CSV 数据文件设置元件 实现
5、其它方式(数据库数据、beanshell等)实现

1、使用 用户定义的变量元件 实现参数化

在实际使用jmeter进行接口测试过程中,我们把一些常用的配置值全部放置到用户定义的变量元件中,方便统一管理。在需要使用到的其他地方通过 ${变量名} 的语法格式进行引用即可

添加路径:右击——配置元件——用户自定义的变量

在http请求中使用${变量名}引用;如下图

2、使用 用户参数元件 实现参数化

用户参数元件可通过右键快捷菜单中选择 添加-前置处理器-用户参数进行添 加,与用户自定义变量不同的是,用户参数列表中的参数取值可以在测试计划执 行过程中发生变化。

每次迭代更新一次:如果选中该选项,则参数的值在每个迭代中保持不变,在新 的迭代开始时取下一个值。如果取消该选项,则参数值在每个在其作用域内的 sampler发出请求时取下一个可用值。

建议在参数的取值范围很小,使用用户参数比较合适

添加路径:右击——前置处理器——用户参数

在名称中输入一个变量名,用户后面输入不同的值;在http请求中引用变量名

在线程组中,修改线程数;如下图

执行效果如下:

3、使用 函数助手 实现参数化

打开路径:在工具栏——函数助手对话框;                                                                                     

快捷图标展示;如下图

                               

函数助手中提供了很多可以进行参数化的函数,常用典型的几个函数。

jmeter官网详细文档地址:Apache JMeter - User's Manual

或者在jmeter目录——printable_docs——打开index.html——点击Function;如下图:

1、__Random:随机整数函数,输入最小值、最大值,如果需要把生成的值保 存在变量中,可以设置变量,如果只是一次使用,可以不设置存储变量。设置完 上述三项后,点击生成即可生成函数代码,在需要的地方使用即可

如下:

①选择Random,一个范围内最小值为10,一个范围内允许的最大值为100,存储结果的变量名(可选)为nums;点击生成函数,jmeter自动复制

②打开http请求,粘贴到指定位置

③线程组选择循环次数;

④执行结果如下:

2、__RandomString:随机字符串函数,输入字符串指定长度、字符串的组成字 符,点击生成即可。如下图:

打开http请求,粘贴到指定位置

忽略首行:csv文件中如果是字段名,而不是实际的参数化数据的时候,设置为 true,表示第一行数据不作为参数化的数据此外还有如下能实现参数化:
3、__time:当前时间的时间戳函数
4、__RandonDate:随机日期函数
5、__machineIP:取设备的IP地址函数
等等.....

4、使用 CSV 数据文件设置元件 实现参数化

csv数据文件中的csv称为逗号分隔值或者字符分割值,其文件以纯文本的形式存储表格数据。在jmeter中可以使用此类型文件提供的数据作为参数化。通过右击 -- 新增 -- 配置元件 -- CSV 数据文件设置元件进行添加

导入的文件可以为excel后缀名为xls、csv或者txt文本

界面字段介绍:

名称/注释:自定义描述性文字

文件名:指保存信息的文件目录,可以相对或者绝对路径

文件编码:默认为ANSI,根据文件类型来,一般设置为UTF-8;GB2312、GBK

变量名称:给csv文件中各列起变量名字(有多列,用英文逗号隔开列名)

忽略首行:csv文件中如果是字段名,而不是实际的参数化数据的时候,设置为 true,表示第一行数据不作为参数化的数据

分隔符:用什么符号分隔参数化文件中的各列,以csv文件中的分割为准设置

是否允许带引号:允许参数化文件的参数带有双引号,默认是False,如果参数 文件的值带有双引号,False模式会将双引号也当做参数

遇到文件结束符再次循环:到了文件尾是否循环,True---继续从文件第一行开始 读取,False---不再循环

遇到文件结束符停止线程:到了文件尾是否停止线程,True---停止,False---不 停止,注:当遇到文件结束符再次循环设置为True时,此项设置无效。

线程共享模式:设置csv数据文件的使用范围

①新建一个excel文件,后缀名为CSV的文件,

②点击浏览选中上面的文件;文件编码为GBK;输入第一行的变量名name;忽略首行为True

③在http请求中引用变量名

④线程组循环5次

⑤点击执行

写在最后

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

 

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

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

相关文章

python3常用模块

1 数学运算模块 math “math”模块提供了许多常用的数学函数,例如三角函数、四舍五入、指数、对数、平方根、总和等 import math1.1 常数 math.pi 返回圆周率的数学常数。math.e 返回指数的数学常数示例: print(math.pi) print(math.e)1.2 fabs(x) …

基于Pandas和FineBI的昆明职位数据分析与可视化实现(二)- 职位数据清洗与预处理

文章目录 一、数据集介绍二、缺失值处理三、重复值处理四、薪资数据格式处理五、技能格式处理六、拆分薪资列并处理异常值七、拆分工作区域列八、清洗后的数据集九、完整代码 一、数据集介绍 这份昆明职位数据集源自 Boss 直聘,数据量颇为丰富,包含 177…

工业4.0核心引擎!意法STM32F407ZET6 单片机 赋能智能PLC/网关设计

STM32F407ZET6 单片机深度解析 1. 产品定位 STM32F407ZET6 是意法半导体(STMicroelectronics)推出的 高性能ARM Cortex-M4单片机,采用 LQFP144封装,主打 浮点运算、丰富外设和工业级可靠性,广泛应用于需要复杂算法和实…

[Andrej Karpathy_2] vibe coding | 大型语言模型的1960年代 | 自主性滑块

Hugging Face的Tom Wolf分享了一段我非常喜欢的视频,这些孩子正在进行氛围编程。 我觉得这是一个非常治愈的视频,我爱这个视频。(they grow up "knowing" they can build anything 😭greatness) 未来是美好的 前文&…

uv包管理常用命令

uv常用命令 uv init 初始化项目 uv add 包名 添加包;多个包名,中间用空格 uv tree 包的关系 uv remove 删除所有包 uv sync 重新解析 安装工具 1、mypy 检测工具 uv tool install mypy uv tool run mypy xxx.py 使用 2、Ruff uv tool…

Nano-vLLM 源码学习

以下内容由Trae生成。我只管问和排版。 Nano-vLLM 是一个从零构建的轻量级vLLM实现项目,具备快速离线推理、代码可读性高和优化功能丰富等特点,性能表现和原版vLLM相媲美。以下是该项目各目录和文件的功能说明: 1. 根目录: benc…

MySQL 8.4 备份与恢复完全指南

本文全面解析MySQL 8.4的备份与恢复机制,涵盖备份类型、方法、策略及实际操作示例。 一、备份类型解析 1. 物理(原始)备份 vs 逻辑备份 特性物理备份逻辑备份原理直接复制数据库目录/文件(如数据文件、日志)导出逻辑结构(CREATE…

Mac 部署Latex OCR并优化体验(打包成App并支持全局快捷键)

🍁 前言 最近阅读论文,在做笔记的时候总是要手动输入一些latex公式,非常耗时。我使用Hapigo的Latex 公式识别,感觉还挺好用,但是缺陷是只有30次免费额度,于是在网上搜索了一下,发现可以通过本地…

128K 长文本处理实战:腾讯混元 + 云函数 SCF 构建 PDF 摘要生成器

一、背景 在数字化办公时代,PDF 文档因其格式稳定、兼容性强等特点,成为知识分享与文档存储的主要载体之一。但随着文档规模的增长,如何快速提取关键信息成为亟待解决的问题。尤其对于 128K 字符及以上的长文本 PDF,传统处理方法…

Elasticsearch 排序性能提升高达 900 倍

作者:来自 Elastic Benjamin Trent, Mayya Sharipova, Chenhui Wang 及 Libby Lin 了解我们如何通过更快的 float / half_float 排序和 integer 排序的延迟优化来加快 Elasticsearch 排序速度。 Elasticsearch 引入了大量新功能,帮助你为你的使用场景构建…

Nginx重定向协议冲突解决方案:The plain HTTP request was sent to HTTPS port

问题原因 ​​服务器运行在 HTTPS 模式,但代码却发出了 HTTP 重定向指令,两套协议对不上,浏览器直接报错。​​ 在Java中,常见于response.sendRedirect()方法的使用。该方法默认生成基于HTTP的绝对URL,即便原始请求是…

机器学习如何让智能推荐“更懂你”,助力转化率飞跃?

机器学习如何让智能推荐“更懂你”,助力转化率飞跃? 今天咱聊聊一个电商、内容平台、社交App都离不开的“秘密武器”——智能推荐系统,以及机器学习到底如何帮它提升转化率的。 说白了,转化率就是“点进去买单”的概率。智能推荐做得好,转化率能蹭蹭上涨;做不好,用户滑…

Ruby CGI Session

Ruby CGI Session 引言 CGI(Common Gateway Interface)是一种网络服务器与外部应用程序(如脚本或程序)进行通信的协议。在Ruby语言中,CGI被广泛用于创建动态网页。本文将深入探讨Ruby CGI Session的相关知识&#xf…

从零开始的云计算生活——第二十四天,重起航帆,初见MySQL数据库

一.故事剧情 接下来要进入到一条比较长的路——mysql数据库,之后会用一段时间来学习mySQL数据库的内容,今天先从基础开始介绍mysql数据库。 二.MySQL数据库概述 1.数据库概念 数据库(Database) 简称DB,按照一定格式存储数据的一些文件的…

ES文件管理器v4.4.3(ES文件浏览器)

前言 ES文件管理器(也叫ES文件浏览器)是一款手机上用来看和管理文件的工具。你可以用它像在电脑上一样,把文件整理进不同的文件夹,查找照片、文档、视频都很方便。它还能看到平时看不到的隐藏文件,帮你清理一些没用的…

leetcode:693. 交替位二进制数(数学相关算法题,python3解法)

难度:简单 给定一个正整数,检查它的二进制表示是否总是 0、1 交替出现:换句话说,就是二进制表示中相邻两位的数字永不相同。 示例 1: 输入:n 5 输出:true 解释:5 的二进制表示是&am…

GRU与LSTM之间的联系和区别

前面我们谈到RNN与LSTM之间的关系,而GRU也是循环神经网络中的一种模型,那么它与LSTM有什么区别呢? 接下来我来对GRU(Gated Recurrent Unit)模型进行一次深度解析,重点关注其内部结构、参数以及与LSTM的对比…

2025年数字信号、计算机通信与软件工程国际会议(DSCCSE 2025)

2025年数字信号、计算机通信与软件工程国际会议(DSCCSE 2025) 2025 International Conference on Digital Signal, Computer Communication, and Software Engineering 一、大会信息 会议简称:DSCCSE 2025 大会地点:中国北京 审稿…

北峰智能SDC混合组网通信方案,助力无网络场景高效作业

在自然灾害、公共安全事件或大规模活动应急响应中,专用无线对讲通信因其不受外部网络限制、免去通话费用、无需拨号便可实现即时语音调度的特点,展现出其不可替代的价值。尤其在许多无基础设施的地区,对智能化调度管理的需求并不亚于城市地区…

HarmonyOS应用开发高级认证知识点梳理 (二) 组件交互

以下是 HarmonyOS 应用开发中 ‌组件交互‌ 的核心知识点梳理(高级认证备考重点),涵盖事件传递、状态管理、通信机制及生命周期协同: 一、事件处理机制 基础交互类型‌ (1)点击事件(onClick) 核心要点‌…