jmeter中用csv data set config做参数化2

news/2024/10/22 7:08:18/

jmeter中,使用csv data set config进行参数化是很重要的一个功能,但是这个功能的使用需要十分仔细和小心,因为细节之处往往决定着结果的正确与否。

举例:

一个登录接口用加密密码登录,一个登录接口用原始密码登录。

分别设置3个不同的异常场景:1.用户名不存在 2.填写用户名,不填密码 3.不填用户名,填写密码

2个接口的测试用例放在一个csv文件中。这里有个小tip: 默认csv文件是用,分隔,如果用xls表格来存储数据,对于有中文内容的测试数据,需要先通过txt记事本转换成utf-8bom编码格式【具体做法看另一篇】,然后再保存为csv文件,它会自动用逗号来分隔各个数据列,不需要逐行的添加逗号。这个非常重要

注意这里的测试数据,断言部分中因有逗号,之前是在数据前加单引号,现在不用加,也可以,只要allow quoted data设为True.【这个有点小疑惑吧,有的时候竟然不要加。】

接下来,运行脚本,看结果。

结果报错了,不仔细看根本看不出问题。其实是等于1后的逗号,测试数据里给错了,给的是中文的逗号,但实际上返回的结果里是英文的逗号,就是这么个细小的地方就导致了断言失败。

给他改过来,再重新运行一次。

这回脚本全部运行成功。

说下,这个脚本里用到参数化的地方,即测试数据里的各个字段,都应用到接口脚本的参数化中了。看图。

这里传参需要加密,都可以在测试数据的参数上直接运用函数,非常好用。

又思考了下,为了方便统一管理测试数据的参数化,对于需要使用加密函数的接口和不需要加密的接口用一个http请求去做参数化,能不能行?即如果把函数写在测试数据上,能不能生效?事实证明,经过试验,不可行。

看请求信息,加密函数在测试数据中,然后再调用过来,没法生效,反而报错。

正确的加密函数传参时是这样的:

所以,如果http请求中使用的参数化的参数不一致,还是得分不同情况来做参数化。

如果每个接口使用的参数化不一样,那么就得用不同的线程组来完成参数化。

总结:使用csv data set config做参数化,细节把控非常重要,一个标点符号就能让测试结果发生错误。


http://www.ppmy.cn/news/1541005.html

相关文章

Java--集合(三)之vectorlinkedlisthashset结构

文章目录 0.架构图1.vector解析2.LinkedList分析2.1源码分析2.2迭代器遍历的三种方式 3.set接口的使用方法3.1基本使用说明3.2基本遍历方式3.3HashSet引入3.4数组链表模拟3.5hashset扩容机制3.6hashset源码解读3.7扩容*转成红黑树机制**我的理解 0.架构图 1.vector解析 和之前介…

稀疏表示的图像修复、图像退化、白噪声

图像分解:图像被分解为结构和纹理两个部分。这种方法通常使用两种特性不同的过完备字典对图像进行稀疏分解,再将重建技术用于两部分稀疏表示的恢复。 稀疏编码:图像或其分解的部分通过一个过完备字典进行稀疏编码,这意味着图像可…

Python学习---高效字符串处理技巧

一、字符串拼接 1.1 使用 运算符 str1 "Hello" str2 "World" result str1 " " str2 print(result) # 输出:Hello World 1.2 使用 join() 方法 join() 方法可以有效地连接多个字符串,尤其是在连接列表或其他可迭…

29.第二阶段x86游戏实战2-遍历周围-花指令与二叉树数据结构(有如何阅读vm代码混淆代码)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要…

【天池比赛】【零基础入门金融风控 Task2赛题理解】【2.3.6】

【天池比赛】【零基础入门金融风控 Task2赛题理解】【2.3.1-2.3.5】 2.3.6 变量分布可视化 2.3.6.1 单一变量分布可视化 对于 pandas.core.series.Series 类型的变量: index:含义:它表示 Series 对象的索引,也就是每个数据点对…

百度智能云千帆 ModelBuilder 大模型服务及开发解读

本文整理自百度云智峰会 2024 —— 大模型平台技术实践论坛的同名演讲。 更多大会演讲内容,请访问: https://cloud.baidu.com/summit/AIcloudsummit_2024/index.html 最近大模型产业应用圈子里有一句非常流行的话,叫做度日如年。不是说这件…

08_实现 reactive

目录 编写 reactive 的函数签名处理对象的其他行为拦截 in 操作符拦截 for...in 循环delete 操作符 处理边界新旧值发生变化时才触发依赖的情况处理从原型上继承属性的情况处理一个对象已经是代理对象的情况处理一个原始对象已经被代理过一次之后的情况 浅响应与深响应代理数组…

Java密封类(Sealed Classes)增强详解

Java密封类(Sealed Classes)增强详解 Java 17引入了一个重要的新特性——密封类(Sealed Classes),这一特性旨在增强Java编程语言的能力,提供了一种机制来限制哪些类可以继承一个给定的类或者实现一个给定的…