当前位置: 首页 > news >正文

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

在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.lryc.cn/news/464469.html

相关文章:

  • 背包问题整理
  • 基于Matlab车牌识别课程设计报告
  • SSM框架实战小项目:打造高效用户管理系统 day3
  • 一款现代化、可定制的跨平台文件浏览器,高颜值高效率的的管理神器!(附私活源码)
  • 【C】二分查找与函数1
  • 光纤光学的基本方程
  • 题解:CF584D Dima and Lisa
  • 【OD】【E卷】【真题】【100分】内存资源分配(PythonJavaJavaScriptC++C)
  • Linux基础项目开发day05:量产工具——页面系统
  • 保护企业终端安全,天锐DLP帮助企业智能管控终端资产
  • 2024市场营销第3次课
  • Python基础之函数的定义与调用
  • GPU在AI绘画中的作用以及GPU的选择
  • 【火山引擎】 Chat实践 | 大模型调用实践 | python
  • mysql学习教程,从入门到精通,SQL 注入(42)
  • 图论day60|108.冗余连接(卡码网) 、109.冗余连接II(卡码网)【并查集 摧毁信心的一题,胆小的走开!】
  • 即使是编程新手,也能利用ChatGPT编写高质量的EA
  • StarRocks大批量数据导入方案-使用 Routine Load 导入数据
  • 从零开始学PHP之输出语句变量常量
  • 二叉树算法之字典树(Trie)详细解读
  • butterfly侧边栏音乐模块
  • 【论文阅读】Detach and unite: A simple meta-transfer for few-shot learning
  • Java中的动态代理——介绍与使用示例
  • 微信开发者工具:音乐小程序报错
  • P2-3与P2-4.【C语言基本数据类型、运算符和表达式】第三节与第四节
  • Python | Leetcode Python题解之第492题构造矩形
  • 新版vs code + Vue高亮、语法自动补全插件
  • 【优选算法】(第四十五篇)
  • 自闭症儿童的康复与培养:揭秘有效方法
  • rom定制系列------小米8澎湃os1.0.28安卓13客户定制固件 刷写以及界面预览