有这样一个压力测试环境,有一个上传页面,上传成功之后服务器会返回一些上传信息(比如文件的 id 或者保存路径之类的信息),然后压力机会继续下一个请求,比如调整 id 为 xx 的文件的一些信息等等。问题来了:JMeter 是不知道上传后文件的 id 的,第二个请求势必从第一个请求的返回结果中提取出文件 id,然后依此为参数发起第二次请求。那么 JMeter 如何把上一个请求的结果作为下一个请求的参数呢?本文将介绍如何使用正则提取器解决这个问题。
1. 提参采样器添加正则表达式提取器
比如上传采样器是 /upload/batchImport/merAdd/20141124/1(因为我们需要从其返回数据中提取我们需要的参数,本文我们称之为"提参采样器"),文件修改请求采样器是 /merServPlat/merInfo/import/add.json(因为它将要使用我们提取的参数,即参数化,本文我们称之为"用参采样器")。
/upload/batchImport/merAdd/20141124/1 上传文件成功之后,服务器会返回 /batchImport/merAdd/20141124/1/201411201455.xls:
JMeter GUI 视图中右击该采样器打开右键菜单 -> 添加 -> 后置处理器
1. 提参采样器添加正则表达式提取器
比如上传采样器是 /upload/batchImport/merAdd/20141124/1(因为我们需要从其返回数据中提取我们需要的参数,本文我们称之为"提参采样器"),文件修改请求采样器是 /merServPlat/merInfo/import/add.json(因为它将要使用我们提取的参数,即参数化,本文我们称之为"用参采样器")。
/upload/batchImport/merAdd/20141124/1 上传文件成功之后,服务器会返回 /batchImport/merAdd/20141124/1/201411201455.xls:
JMeter GUI 视图中右击该采样器打开右键菜单 -> 添加 -> 后置处理器