Jmeter的接口测试及数据驱动

简介

数据驱动测试,即是分离测试逻辑与测试数据,通过如excel表格的形式来保存测试数据,用测试脚本读取并执行测试的过程。
有的时候会有大量的测试脚本与测试数据内聚在一起,使得我们的测试脚本的可移植性及可维护性变得很不好,所以采取了csv格式表格保存测试数据来驱动测试的方式。这样也方便对脚本的移植和维护。

操作

  • 添加一个线程组
  • 线程组下新增循环控制器,循环次数设置为永远
 
image.png
  • 循环控制器下新增CSV Data Set ConFig控件
 
image.png
Filename:csv文件(txt格式和dat格式)所在的路径以及名称如(如果和jmx文件在相同路径直接写名称,
如果不是,需要填写具体路径)

File encoding:给出页面的编码方式,可以不填写;
这里以百度为例,它的源代码里 ,所以这里File encoding:gb2312

Variable Names(comma-delimited):给出变量名如:name,pwd;这里的变量名是给后面引用用的,
如要用到这个文件的值,可以利用变量名来引用:
${name},${pwd},如test.csv文件中有这样的数

Delimiter(use '\t' for Tab):这个是用来隔开变量的分隔符,
如上面的name,pwd,那分隔符就是“,”或者Tab也可以

Allow Quoated data: 双引号相关,例:如果参数中需包含,或者”等,该项可以选择True,效果如下:

 
image.png

Recycle on EOF:(默认True),到了文件尾是否循环,True---继续从文件第一行开始读取,False---不再循环 。

Stop thread on EOF?:到了文件尾是否停止线程,True---停止,False---不停止,注:当Recycle on EOF设置为True时,此项设置无效

Sharing Mode:共享模式:
1.All threads:所有线程,所有线程循环取值,线程1取第一行,线程二取下一行。
2.Current thread group:当前线程组,各个线程组分别循环取值。
3.Current thread:当前线程,该测试计划内的所有线程都取第一行

  • 用excel表格打开新建的csv文件,设计测试用例
 
image.png
  • 添加如果控制器,来做用例优先级的筛选执行
 
image.png
  • 根据调用方法选择请求方式
    通过if选择器区分GET与POST方法的请求,配置http请求(默认)
 
image.png

Post请求的配置方式 :post请求参数放在body data中

 
image.png

Get 请求的配置方式:get请求的参数配置url后面

 
image.png

配置响应断言

 
image.png
  • 执行测试,查看结果
    通过查看结果树控件查看测试结果详情,绿色为通过
 
image.png

总结

自己对jmeter的数据分离想有更好的总结,所以参考网上一部分资料,写了cvs,给自己加深印象。



作者:我为峰2014
链接:https://www.jianshu.com/p/80f7b230d195
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

posted @ 2020-10-22 10:27  大九~  阅读(156)  评论(0编辑  收藏  举报