Jmeter之完整的HTTP接口测试
目前很多接口都是基于HTTP的,所以针对HTTP接口测试的了解很重要,下面就简单说明一下,一个基于Jmeter上HTTP接口测试需要的内容。
一、一个HTTP接口测试需要最基础的内容
如下:
简单说明:
1、接口测试计划---是这一次测试计划的名称;
2、HTTP信息头管理器:是这次测试中管理HTTP请求需要用到的头信息;
3、HTTP Cookie管理器:是这次测试中管理Cookie的组件;
4、HTTP请求默认值:是这次测试中提取出一些常用并且统一的内容,进行管理的组件;
5、接口:是一个线程组,只是命名为”接口“,表示为接口测试的内容;
6、控制请求次数:这是一个循环控制器,方便后续对请求次数的控制;
7、访问百度:这是一个HTTP请求的取样器,用来实际方式请求的组件;
8、提取信息:这里是一个后置处理器--正则表达式提取器,用来提取一些后续需要使用的响应那内容;
9、响应断言:用来判断我们的请求是否成功;
10、查看结构树:用来查看我们每个请求的结果、请求内容和响应内容等;
11、聚合报告:用户查看整个请求的一个统计情况;
在有提取的信息的时候,为了验证提取的是否正确,可以通过后置处理器中的Debug PostProcessor和BeanShell PostProcessor去查看结果。
12、输出响应结果:是一个beanshelll postprocessor组件,可以在里面编写脚本,常用的是通过log.info将信息输出到日志中,查看。
13、Debug PostProcessor:可以在执行测试后,在查看结果树-每一个取样器下的Debug PostProcessor中查看
二、详细说明
1、HTTP信息头管理器
详细说明见:https://www.cnblogs.com/smallstone2018/p/9795960.html
可以通过抓包工具,获取请求需要的信息头,然后复制,在管理器中点击“Add from clipboard”,插入相应的信息头,如下图:
2、HTTP Cookie管理器
详细说明见:https://www.cnblogs.com/smallstone2018/p/9795960.html
设置为自动获取,不配置其他信息。
3、HTTP请求默认值
详细说明见:https://www.cnblogs.com/smallstone2018/p/9795960.html
根据需要针对相应的进行设置,如下图:
4、线程组
详细说明见:https://www.cnblogs.com/smallstone2018/p/9776731.html
根据需要,做以下配置:
5、循环控制器
详细说明见:https://www.cnblogs.com/smallstone2018/p/9795971.html
根据需要,做以下配置:
6、HTTP请求
根据需求,配置如下:
其他需要信息,使用HTTP请求默认值管理器中的值。
7、响应断言
设置判断响应是否正常,配置如下:
8、提取信息
详细说明见:https://www.cnblogs.com/smallstone2018/p/9799734.html
使用后置处理器-正则表达式提取器,提取响应信息中的数据。
如下图:
为了确认提取的信息是否正确,可以使用正则表达式工具验证,也可以通过Jmeter自带的一些组件去验证,这里主要介绍BeanShell PostProcessor和Debug PostProcessor。
(1、BeanShell PostProcessor
在beanshell中,编写脚本,将信息输出到日志,查看是否正确
在日志信息中,可以输出相应的结果,查看结果是否是自己想要的。
(2、Debug PostProcessor
在执行脚本后,进入查看结果树中,查看相应的取样器下的Debug PostProcesssor信息,如下图:
9、查看结果
查看结果树的详细说明见:https://www.cnblogs.com/smallstone2018/p/9799714.html
因为响应断言中的判断条件失败,所以导致请求失败。
修改响应断言,查看结果: