本次学习内容为jmeter的基础知识的学习,在了解jmeter基础知识的情况下,通过实例操作进行接口测试
一、jmeter的配置文件:
1、测试计划:
测试计划是jmeter测试脚本的根节点,关于整个测试脚本的一些基础设置,可以在测试计划中设定,例如用户定义变量。一个完整的测试计划,会包含一个或多个线程组、逻辑控制器、采样器、监听器、定时器、断言和配置元件。在界面的左侧树形列表上就是测试计划。点击测试计划,右边的界面上显示测试计划 的相关信息,可以填写测试计划名称、注释、添加用户定义的变量等信息。如图所示:
点击测试计划,点击鼠标右键,在添加模块中可以添加配置元件、监听器、定时器、前置处理器、后置处理器、断言等。
2、线程组:
线程组是任何测试计划的起点,所有的逻辑控制器和采样器都必须放在线程组之下。其他的测试元件(如监听器)可以被直接放在测试计划之下,这些测试元件对所有线程组都生效。线程组就像它的名字所描述的那样,被用来管理执行性能测试所需的JMeter线程。
线程组:在测试计划下可以添加一个或多个线程组。线程组之间是独立运行的,线程组定义了一个虚拟的用户池,其中每个虚拟用户都使用同样的测试脚本。在线程组页面上可以设置线程数量、设置线程启动周期、设置执行测试脚本的循环次数,可以进行并发和循环运行。
添加线程组步骤:点击测试计划--->右键-->添加-->Threads-->线程租,点击添加成功的线程组,右边显示线程组的相关信息。
(1)线程数:就是需要设置多少线程执行测试
(2)Ramp-Up Period(in seconds):用于告知jmeter要在多长时间内建立全部的线程,多长时间内需要把上面的线程数均匀启动完。默认值为0
(3)循坏次数:就是决定一个线程要跑多少次测试
(4)Delay Thread creation until needed:直到需要时延长线程的创建
(5)调度器:选中之后可以配置启动时间,立即或者预定的时间
(6)持续时间:测试计划持续多长时间,会覆盖结束时间
(7)启动延迟:测试计划延迟多长时间启动,会覆盖启动时间
在线程组中可以添加其他的组件,如图所示:
3、HTTP请求
通过在线程组先创建一个HTTP请求,jmeter可以发送一个HTTP/HTTPS请求到web服务器上。
在线程组上点击右键,在采样器上选择HTTP请求。添加成功后点击HTTP请求,右边界面显示HTTP的相关信息。在界面上填写服务器域名或IP,选择请求方法、路径;在参数区域可以以json串传参的post请求,也可以以key-value的方式传参数,如图所示:4、HTTP信息头管理:
用户可以通过这个http信息头管理器添加或重载http请求头。
添加HTTP信息头步骤:右键-->添加-->配置元件-->HTTP信息头管理器。在信息头管理器页面上可以编辑名称、注释、以及添加信息头信息。
5、参数化
参数化可以让参数在执行测试过程中取不同的值,可以使用文件参数化和函数生成器参数化两种方式进行参数化。jmeter中的参数化方式有很多中,本次介绍CVS文件读取参数化、函数生成器参数化两种方式
(1)CVS文件读取参数化:CVS Date Set Config被用来从文件中读取数据行,并将它们拆分后存储到变量中,适合于处理众多参数变量但是参数的值不太大时使用。这一函数目前不支持多输入文件。
通过在本地新建文件,在文件中输入参数、参数值,保存在jmeter的bin目录下,如以下的登录账号参数化:
新建文本,输入用户名、密码:
保存在jmeter的bin目录下:
点击HTTP请求的右键添加CSV文件,如图:
在CSV文件中输入相应的信息,完成之后,在参数值中引用即可实现,如图所示:
(2)函数生成器:
_Random:会返回指定的最大值和最小值之间的随机数。
第一行输入参数的最小值,第二行输入参数的最大值,第三行输入变量名;点击生成后复制粘贴在需要参数化的参数值模块中。如图所示:
_RandomString:返回一个指定长度的随机字符串,使用chars to use中的字符。RandomString随机生成的是字符串,适合在用户名需要随机生成数字字母组合的字符串类型。如图所示:
6、后置处理器:后置处理器,顾名思义是在采样器发出请求之后做出的操作。后置处理器通常被用来处理服务器的相应数据,特别是服务器响应中提取数据。接口响应结果,通常为HTML、JSON格式的数据,对于HTML的响应结果,可以使用正则表达式获取响应结果。而对于JSON格式的数据,可以通过正则表达式、json path extractor插件、beanshell获取响应的结果。本次介绍json path extractor插件
7、用户定义的变量:
用户定义的变量可以定义初始化一系列变量,在测试计划下定义一个用户定义的变量,那么在测试计划下的所有线程组都可以使用被执行后的初始值。
8、断言
断言被用于对采样进行额外的检查,检查测试中得到的响应数据是否符合预期,它类似于loadrunner的检查点。本次学习中主要学习断言模块中的响应断言。
9、查看树、集合报告:
查看树和聚合报告是展示采样执行后的结果的测试元件。
查看树比较直观的记录每个请求的运行结果,查看结果树的运行结果模块,绿色标志表示运行通过,红色标志表示运行失败。测试人员可以一目了然的清楚哪些请求是运行失败、哪些请求是运行通过。在运行结果的右下方有3个模块,分别是取样器结果、请求、响应数据。
以上是jmeter的部分基础知识,下次更新将会结合实例进行深入讲解。