在介绍之前先介绍一下进程、线程、线程组的关系,一个进程包含多个线程组,一个线程组包含多个线程。举个简单的例子,开启迅雷意味着开始一个进程,迅雷可以同时下载多个文件,代表着进程内的多个线程组并发进行,但是先下载的不一定先完成,在jmeter中可以设置并发执行还是顺序执行。
Jmeter中
测试计划–进程,
线程组–线程组
线程–线程组属性的线程数
1 在线程组下新建Http请求
2 在Http请求界面中,名称可以自拟,填入服务器名称或IP、端口号、路径、协议以及方法,这些都为必填项,相关数据可在接口文档查看。由于再次展示的是新增接口,所新增的内容需以JSON格式填写在Body Data中。
3 由于一些接口文档的一些接口会注明添加必要的请求参数,一般我们会在Parameters中添加,但是在Jmeter中Parameters和Body Data不能共同使用,如果已经输入其中一个内容,想填写另一个则会出现如下警示。
所以我们会用另一个Http信息头管理器组件来弥补这点,但本人为了统一习惯无论是查询还是新增操作都会添加一个Http信息头管理器。在Http信息头管理器中添加所需要的参数,基本上Content-Type application/json;charset=UTF-8为必填参数。
4 最后添加查看结果树并执行线程组,结果可在查看结果树中观看。
优化
由于在进行大量的接口测试时,会有许多共同参数,为了更加优化以及高效的执行,我们将那些共同参数进行默认。
1 测试计划-添加-配置元件-请求默认值,填入每次都重复的数据,放在最顶部(注意作用域)。
当新建Http请求时,如果你没有填写那些共同的数据,Jmeter会自动调用顶部Http请求默认值中设置的参数,可调整Http请求默认值组件的位置来控制作用域。这样就使我们的工作更加高效。