本次测试的接口采用内网中的通信录查询接口进行测试,接口参数以下:css
下载好Jmeter后,双击bin目录下的jmeter.bat文件:html
在“测试计划”上鼠标右键添加-->threads(Users)-->线程组,添加测试场景设置组件,接口测试中通常设置为1个“线程数”,根据测试数据的个数设定“循环次数”正则表达式
组件,在上步的线程组上右键添加-->配置元件-->HTTP请求默认值服务器
当全部的接口测试的访问域名和端口都同样时,可使用该元件,一旦服务器地址变动,只须要修改请求默认值便可。post
在“线程组”右键-->添加-->samlper-->“HTTP 请求”学习
在HTTP请求设置页面,录入被测接口的详细信息,包括请求路径,对应的请求方法,以及随请求一块儿发送的参数列表,配置以下:测试
在“线程组”右键-->添加-->监听器->查看结果树、用表格查看结果、Summary Report三种结果的报告展现线程
点击运行后,便可看到运行结果,结果以下:3d
从上述结果返回能够看出,使用【xx】测试,返回的结果有两个,另外在返回数据展现方面,除了上述默认的Text形式外,还能够选择HTML形式,更直观,以下:htm
另外的表格查看结果,选取一个展现,以下
在实际测试中,不可能查询值测试一个输入值,还有其余测试数据,故引入参数化的概念,让一条用例循环执行,直到全部测试数据均测试完成,以下示例:
Jmeter参数化有4种方法,本例仅介绍最广泛及简单的1个方法,csv文件导入配置
一、准备参数文件
二、配置CSV数据设置配置项:在线程组右键添加-->配置元件-->CSV Data Set Config
三、修改3.2.4中构造的HTTP请求:username修改成参数,从csv文件中引用
四、修改测试计划,使得脚本重复
五、运行后,便可看到结果以下:
上述结果,永远都会执行正确,只要请求发送成功,并无对返回结果进行断言判断,本例介绍断言设置
一、正则表达式提取内容:从响应内容中提取内容与文件提取内容进行对比,本例采用对比的结果为:员工号
在通信录查询的HTTP请求上右键添加-->后置处理器-->正则表达式提取器,配置以下:
关于正则表达式的规则,请自行查找文档学习,此处提取返回聂荣的员工号后,以test参数引用。
二、增长断言:以提取的员工号test和csv文件中读取的员工号进行对比,判断结果是否正确
在通信录查询的HTTP请求上右键添加-->断言-->响应断言,配置以下:
在线程组右键添加-->sampler-->Debug Sampler:用于查看正则表达式提取的内容
三、运行后,查看结果
发现第二条参数用例执行结果失败,展开后,查看响应断言的详细信息,发现test并不匹配T123451,也就是说第二个测试人员的员工号不是T123451。
接下来咱们查看详细的响应数据,看看问题到底在哪里
从上图能够看出,第二个测试人员的员工号为T12345,而不是T123451,因此断言不经过。
其实,此错误是csv文档中故意设置错误的,以验证断言的正确性。