通过jmeter读取csv的case来实现接口自动化

一、环境准备:

1.环境:jdk:1.8+,jmeter:4.2+,

2.csv: 按照以下这种方式编写case或者自定义其他的,准备好case

 

 

二、注意要点:

1.想实现数据参数化,可以直接csv中使用函数来操作,如下随机生成名字的函数可直接调用 

{"projectName":"${__eval(${__RandomString(25,1234567890qwertyuiopasdfghjklzxcvbnm,projectName)})}",

2.参数关联,在jmeter里提取到数据后在csv直接写变量名即可:${projectIds}

三、jmeter的配置:

1).创建线程组,

 

 

2).csv的配置

 

 

3).接口分组或存在参数关联想抓取

简单控制器可按业务分模块

 

if逻辑控制器可实现读取指定的行列数据( if+csv标签)

 

 

四、踩过的坑:

1.请求数据读不进去,或都进去后格式不对,参照 2).csv的配置

2.参数化问题搞了很久,__eval 函数很好用

3.参数关联,没法分开读取指定的csv内容,参照 3).接口分组或存在参数关联想抓取

五、实现测试结果回写到csv,生成执行后的case文件

使用Java语言提前编辑好写入excel的程序,然后打包为jar包放置jmeter的lib目录下,再在jmetere中使用beanshell里导入程方法并进行调用

 

 

 

 

六、参数化优化补充:

1.对于要自动生成的字段,先在jemeter中使用beanshell 取样器中使用java进行参数化,然后在csv中直接使用${projectName}传参

为实现一个参数全局变量,使用仅一次控制器放置在所有请求的最前面

 

posted on 2020-07-20 14:42  小白历险  阅读(297)  评论(0编辑  收藏  举报