day1_jmeter接口测试

一、Jmeter-http接口脚本:

步骤:

1、添加线程组

2、添加http请求

3、在http请求中写入接口url、路径、请求方式、参数

4、添加查看结果树

5、调用接口、查看返回值

 

 

二、Jmeter之HTTP信息头管理器

 HTTP信息头管理器在Jmeter的使用过程中起着很重要的作用,通常我们在通过Jmeter向服务器发送http请求(get或者post)的时候,往往后端需要一些验证信息,比如说web服务器需要带过去cookie给服务器进行验证,一般就是放在请求头(header)中,因为对于此类请求,在Jmeter中就可以通过HTTP信息头管理器,在添加http请求之前,添加一个HTTP信息头管理器,发请求头中的数据通过键值对的形式放到HTTP信息头管理器中。在往后端请求的时候就可以模拟web携带header信息了

线程组>添加>逻辑控制器>HTTP信息头管理器

 

 

 

 

三、Jmeter-参数化

Jmeter参数化的方式有三种

1、用户定义的变量

  • 这种就是为了方便管理参数,只能有一个值,比如说ip地址不经常变化的

2、函数生成器

  • 函数生成器可以参照一定的规则生成数据,这样的比如说生成一些随机数

3、从文件中读取

  • 文件读取就是事先写好一些数据,然后从文件中读取,这样的话,比如说登录接口,账号和密码都是我们事先注册好的

1、参数化-用户定义的变量

在线程组中添加一个用户定义的变量,然后写key和value就可以了,key就是这个参数的名称,也就是你在脚本里面取的值,value就是具体值了。在取参数化的值的时候,使用${name}这样去取值,name就是你取的变量名称

 

 

 

 

 

 

2、参数化-函数生成器

 

几种函数:

__random:可以在指定范围内随机取值

 

 

__counter函数:用于统计函数的使用次数

每次调用计数器函数都会产生一个新值,从1开始每次加1。计数器既可以被配置成针对每个虚拟用户是独立的,也可以被配置成所有虚拟用户公用的。如果每个虚拟用户的计数器

 

__time:取当前时间到变量

时间格式,支持,年yyyy,月MM,日dd,时hh,分mm,秒ss,毫秒sss,之间任意符号连接,/1000就是10位时间戳(精确到秒),不填就是精确到毫秒13位时间戳

 

 

3、参数化-从文件中读取-CSV Data Set Config

从文件中读取的话,三个步骤

1、读取文件

2、取文件内容里面的参数,给它一个名字

3、使用值

从文件读取的话,需要在线程组里面添加一个CSV Data Set Config,它就是做前面两步的操作的

 

   如果有多列,则逗号隔开分别起名

 

 

如果文件不写绝对路径,只写一个文件名,那么你就把你的文件放到jmeter的bin目录下就ok了

备注:

 

 

 

 

四、关联-JSON Extractor

1、关联也就是:  

         1)调用第一个接口,然后从这个接口的返回数据里面拿到某个值

         2)放到第二个接口里面来用。

接口响应结果,通常为HTML、JSON格式的数据,对于HTML的响应结果的提取,可以通过正则表达式,也可以通过XPath 来提取。

对于JSON格式的数据,可以通过正则表达式、JSON Extractor插件、BeanShell 来提取。

本次说下如何通过JSON Extractor 插件来提取JSON响应结果

 

 

 

 

  • Variable names:保存的变量名,后面使用${Variable names}引用

  • JSON Path  expressions:调试通过的json path表达式

  • Match Numbers:匹配数字(0代表随机,1代表第一个,-1代表所有)

  • Default Values:找不到时默认值,一般设置为NOT FOUND

  • Compute concatenation var(suffix_ALL):是否统计所有,即将匹配到的所有值保存,名为“变量名_ALL”

2、举例:

响应结果为:

{

        "error_code": 0,

        "login_info": {

                "login_time": "20180814094236",

                "sign": "3f823a72b517ff6c36f95635d8a741f1",

                "userId": 1

        }

}

获取登录接口的sign值,则表达式为:$.login_info.sign($表示当路径 .表示下一层及 意思为:当前路径下的login_info下的sign)

 

 

调用jp@gc - JSON Path Extractor

 备注: JSON中 data 是一个对象数组, data[0] 代表取的是第一个对象数组,data[*] 代表取全部。

3、可添加Debug Sampler查看调用结果

打开测试计划—>线程组—>右键,添加—>Sampler,Debug Sampler

posted on 2018-08-14 10:37  羽竹  阅读(173)  评论(0编辑  收藏  举报