Jmeter之CSV参数化

前言

在jmeter测试过程中,我们是不是要每运行一次都要改一次数据,是不是特别繁琐?有时还会漏测?有没有感到疲惫呢?今天来教大家一个借助外部工具来方便我们测试的好方法----CSV参数化.

CSV参数化是什么?作用是什么?

1.定义:CSV是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用。最广泛的应用是在程序之间转移表格数据,而这些程序本身是在不兼容的格式上进行操作的(往往是私有的和/或无规范的格式)。因为大量程序都支持某种CSV变体,至少是作为一种可选择的输入/输出格式。
例如,一个用户可能需要交换信息,从一个以私有格式存储数据的数据库程序,到一个数据格式完全不同的电子表格。最可能的情况是,该数据库程序可以导出数据为“CSV”,然后被导出的CSV文件可以被电子表格程序导入。
2.作用:外部导入数据,帮助jmeter完成自动化循环测试的方法,方便保存测试用例,随时做回归测试或者调用.

CSV操作步骤

1.excel

  • 新建一个excel文档,写测试用例的各种情况,另存为CSV形式
    excel用例

    2.Notepad++
  • 用notepad++打开,把最后的换行符删掉,保存
    3.fidder
  • 抓包,导出jmeter脚本(黑色小怪)
    fidder中导出jmeter脚本

    fidder中导出jmeter脚本

    4.jmeter
  • a.在jmeter中导入脚本,填写HTTP请求里的信息


    HTTP请求
  • b.在线程组里添加一个CSV数据文件设置


    添加CSV数据文件设置
  • c.填写CSV数据文件设置内容


    填写CSV数据文件设置内容
  • d.在HTTP和响应断言中使用变量
    (1)怎么使用变量?
    ${变量}
    HTTP请求

    响应断言
  • e.添加循环控制器
    (1)添加方法


    添加循环控制器

    (2)目的:只运行循环控制器里的请求
    (3)调整层级结构,设置循环次数


    image.png
  • f.运行

正则表达式提取器 和 如果(IF)控制器

正则表达式提取器作用:提取上个接口响应中的数据存放到变量中,给其他元件使用。
正则表达式提取器用法:

正则表达式提取器

如果(IF)控制器作用:如果满足if控制器里的条件,就执行if控制器内部的元件
如果不满足if控制器里的条件,就不执行if控制器内部的元件
如果(IF)控制器用法:

如果(IF)控制器

测试流程

1.fidder抓包,批量导出脚本
如用户名注册登录查询4个页面
2.jmeter导入脚本
如用户名注册登录查询4个页面
3.添加用户定义的变量
4.函数助手对话框,生成随机函数,把生成的字符串复制到用户定义的变量中
5.把所有元件中正文中变量名为userName={userName} 6.添加正则表达式提取器,放在校验内 7.如果(IF)控制器 考虑逻辑,如果校验成功,就证明没有注册过,就直接注册 8.给其他元件添加响应断言,输入预期,最后一个元件响应断言填写{变量名}
9.其他元件中用户名对应的值输入为${uesrName}
10.运行

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容