我用不同的jdbc连接字符串执行sqls。每个sql都将在各自的数据库用户上运行。 Sqls正在执行罚款。但是,我需要确认,例如,sql是在connection-string中提到的用户执行的。是否有任何选项可以让用户执行sql到jtl?
答案 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
通过以上方式,我们可以做到这一点。