我正在命令行中使用jmeter对一些目标执行一套自动化测试。
看起来是这样的:
for files in ./*.jmx; do
./jmeter \
-n -t ${file}/Test_perfs_qgis_SHORT.jmx \
-l ${TEST_DIR_PATH}/at_bench.log \
-e \
-o ${TEST_DIR_PATH}/report \
-J TEST_DIR_PATH="${TEST_DIR_PATH}" \
-J COMMON_PARAM="someValue" \
-J ANOTHER_COMMON_PARAM="anotherValue" \
-J SPECIFIC_PARAM="someValue Or emptyIfNotExpected"
fi
大多数目标共享相同的GET模板,或者至少允许使用意外的参数(然后将忽略该参数)。
但一些目标在接收到额外参数时失败。
因此,我添加了一个预处理器,以便在没有提供参数值时删除参数。
if((vars.get("SPECIFIC_PARAM") == null)||(vars.get("SPECIFIC_PARAM")=="")){
sampler.getArguments().removeArgument("MAP");
}
这很有效。但由于我有大约50000个电话,这将被触发。。。几次!
考虑到这是出于测试目的,我担心这可能会对结果产生影响(尽管对于所有请求,这也可能完全相同)。
无论如何,我正在试图找到一种在启动时删除它的方法:一次处理所有请求。
有人知道怎么做吗?