如何在通过Beanshell预处理器发送JMeter之前修改HTTP请求?
我的csv文件中有测试用例。请求URL有一个自定义变量 示例URL:如何在通过Beanshell预处理器发送JMeter之前修改HTTP请求?,jmeter,beanshell,Jmeter,Beanshell,我的csv文件中有测试用例。请求URL有一个自定义变量 示例URL:../abc/$id 我需要将这个id替换为我们从上一个请求中得到的id。我使用json提取器从响应中获取id。现在我需要在下一个测试用例请求中更新这个id。使用以下代码从jmeter上下文获取请求URL: String path = ctx.getCurrentSampler().toString(); path.replaceAll("$id", id); 我无法在jmeter上下文(ctx)中设置此更新的URL 您需要
../abc/$id
我需要将这个id
替换为我们从上一个请求中得到的id
。我使用json提取器从响应中获取id
。现在我需要在下一个测试用例请求中更新这个id
。使用以下代码从jmeter上下文获取请求URL:
String path = ctx.getCurrentSampler().toString();
path.replaceAll("$id", id);
我无法在jmeter上下文(ctx
)中设置此更新的URL
path
变量指定新的路径值String path = ctx.getCurrentSampler().toString();
path = path.replaceAll("$id", id);
sampler.setPath(path);
演示:
也考虑切换到Groovy性能,它更好地支持新的java特性,并在顶部提供一些额外的“语法糖”。有关详细信息,请参阅文章
path
变量指定新的路径值String path = ctx.getCurrentSampler().toString();
path = path.replaceAll("$id", id);
sampler.setPath(path);
演示:
也考虑切换到Groovy性能,它更好地支持新的java特性,并在顶部提供一些额外的“语法糖”。有关详细信息,请参阅文章
尽可能避免使用前置/后置处理器。 你的要求非常简单明了 在路径中直接使用此选项-假设id
是具有该值的变量的名称
/abc/${id}
尽可能避免使用前置/后置处理器。
你的要求非常简单明了
在路径中直接使用此选项-假设id
是具有该值的变量的名称
/abc/${id}