当JDBC请求没有从Jmeter中的DB返回任何数据时,如何记录错误?
我需要知道当JDBC请求没有从Jmeter中的DB返回任何数据时,如何记录错误 我有: JDBC请求 查询:当JDBC请求没有从Jmeter中的DB返回任何数据时,如何记录错误?,jdbc,jmeter,beanshell,Jdbc,Jmeter,Beanshell,我需要知道当JDBC请求没有从Jmeter中的DB返回任何数据时,如何记录错误 我有: JDBC请求 查询: SELECT names FROM customers 变量名: 命名客户 然后我得到了一个带有脚本的BeanShell后处理器: 最后是一个名为set variables的简单控制器,它使用以下代码调用外部文件: vars.putnamesCustomer、JMeterUtils.getPropertynamesCustomer 问题是,在另一个SOAP请求中,我使用了变量n
SELECT names
FROM customers
变量名:
命名客户
然后我得到了一个带有脚本的BeanShell后处理器:
最后是一个名为set variables的简单控制器,它使用以下代码调用外部文件:
vars.putnamesCustomer、JMeterUtils.getPropertynamesCustomer
问题是,在另一个SOAP请求中,我使用了变量namesCustomer_1,如果没有从DB返回数据,则该请求将失败。当JDBC没有返回任何数据时,我需要记录一个错误
如果我添加到后处理器:
log.error示例
运行此请求时,我在jmeter.log中看到了错误记录。我需要像这样的东西:
if(JMeterUtils.setProperty("namesCustomer", vars.get("namesCustomer_1")).toString().length()==0){
log.error("DB returned no results")
}
当JDBC请求没有返回任何数据时,如何记录错误,您有什么想法吗?可以简单一点。若并没有设置JMeter变量,那个么它将是null,而不是空字符串 因此,我建议修改您的代码如下:
String namesCustomer = vars.get("namesCustomer_1");
if (namesCustomer == null) {
log.error("namesCustomer_1 variable is not set");
} else {
props.put("namesCustomer", namesCustomer);
}
props是访问当前JMeter属性集的简写方法,不需要使用JMeterUtils.setProperty方法
有关ApacheJMeter中的Beanshell脚本和一种Beanshell食谱的更多详细信息,请参阅指南
String namesCustomer = vars.get("namesCustomer_1");
if (namesCustomer == null) {
log.error("namesCustomer_1 variable is not set");
} else {
props.put("namesCustomer", namesCustomer);
}