使用JMeter 做接口测试的流程

151 阅读1分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第18天,点击查看活动详情

1. 创建线程组作为接口测试的被测功能名称

a) 设置线程数为 1,循环次数为永远

2. 测试步骤的实现

a) 在取样器中选择添加 HTTP 请求

i. 按照 HTTP 协议特征填写相关要素。需要填写协议、服务器名称或 IP、端口号、HTTP 请 求方法、路径以及消息体数据(请求 Body)

b) 如果请求之间存在关联,则需要做关联操作

i. 关联的意义:后一个请求的请求参数值需要用到前面请求的响应数据 
ii. 关联的操作: 
    1. 在前一个请求添加后置处理器正则表达式提取器 
    2. 正则表达式提取器名称填写参数名称、正则表达式需要提取的部分使用(.+?)替代, 保存左右边界,模板为:$1$ 匹配数字为:1
    3. 在后一个请求的需关联的数据修改为${正则提供器参数名称} c) 创建查看结果树,验证请求是否正确 

3. 测试数据的实现

a) 数据用例的设计

 i. 使用等价类、边界值等方法对入参取值进行组合,得到 csv 数据用例表 
ii. csv 数据用例表中包含:用例标题、入参、预期结果三项 

b) CSV 数据文件设置

 i. 文件名设置中导入 csv 文件,获取 csv 的路径
 ii. 设置遇到文件结束符不再循环、遇到文件结束符停止线程 

c) 参数化设置

i. 将 HTTP 请求中的待参数化的数值设置为${参数}

4. 断言实现

a) 创建响应断言或 JsonPath 断言(二者任一即可,优先 JsonPath 断言)

 i. 在关键请求中添加响应断言,添加断言数据即可。
 ii. 如果是 JsonPath 断言,则需要填写 JsonPath 路径和断言数据 

b) 断言的参数化实现

 i. 断言数据可以读取自 csv 中的数据,与参数化方式相同 

5. 接口测试执行

a) 手工执行测试脚本

b) 使用 ANT 执行批量执行脚