我们如何才能知道用户在jmeter中执行sql的用户

时间:2017-11-30 11:30:00

标签: jmeter

我用不同的jdbc连接字符串执行sqls。每个sql都将在各自的数据库用户上运行。 Sqls正在执行罚款。但是,我需要确认,例如,sql是在connection-string中提到的用户执行的。是否有任何选项可以让用户执行sql到jtl?

1 个答案:

答案 0 :(得分:0)

我们可以通过。使用正则表达式解析用户名并通过BeanShellPostprocessor读取变量并将其放入jtl。

<hashTree /><RegexExtractor enabled="true" guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor">
            <stringProp name="RegexExtractor.useHeaders">true</stringProp>
            <stringProp name="RegexExtractor.refname">UserName</stringProp>
            <stringProp name="RegexExtractor.regex">UserName=(\w+), </stringProp>
            <stringProp name="RegexExtractor.template">$1$</stringProp>
            <stringProp name="RegexExtractor.default" />
            <stringProp name="RegexExtractor.match_number" />
</RegexExtractor><hashTree />

在Beanshell后处理器中阅读:

String db_user = vars.get("UserName");
vars.put("db_user", db_user);

注意:另外,需要在jmeter / bin / jmeter.properties文件中提及此处使用的变量名。

sample_variables=db_user

通过以上方式,我们可以做到这一点。