jmeter-5.0 - 如何使用 JMeter 中的 Bean Shell 断言将数据库查询结果与字符串进行比较
问题描述
我是 JMeter 的新手。
在我正在使用的测试计划中
- 用于连接 SQL 数据库的 JDBC 连接配置。
我正在使用 BeanShell 断言将实际 FK_SiteId 与预期 FK_SiteId 进行比较,如下所示。
请在下面找到错误消息。
2019-03-04 12:25:45,549 INFO o.a.j.e.StandardJMeterEngine: Running the test! 2019-03-04 12:25:45,549 INFO o.a.j.s.SampleEvent: List of sample_variables: [] 2019-03-04 12:25:45,549 INFO o.a.j.g.u.JMeterMenuBar: setRunning(true, *local*)
2019-03-04 12:25:45,661 INFO o.a.j.e.StandardJMeterEngine: Starting ThreadGroup: 1 : SQL Database Connection 2019-03-04 12:25:45,661 INFO o.a.j.e.StandardJMeterEngine: Starting 1 threads for group SQL Database Connection.
2019-03-04 12:25:45,661 INFO o.a.j.e.StandardJMeterEngine: Thread will continue on error
2019-03-04 12:25:45,661 INFO o.a.j.t.ThreadGroup: Starting thread group... number=1 threads=1 ramp-up=1 perThread=1000.0 delayedStart=false
2019-03-04 12:25:45,677 INFO o.a.j.t.ThreadGroup: Started thread group number 1
2019-03-04 12:25:45,677 INFO o.a.j.e.StandardJMeterEngine: All thread groups have been started
2019-03-04 12:25:45,677 INFO o.a.j.t.JMeterThread: Thread started: SQL Database Connection 1-1
2019-03-04 12:25:50,564 ERROR o.a.j.u.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: ``String ActialResult = vars.get(${FK_SiteId}); String ExpectedResult = "14001"; . . . '' : Typed variable declaration : Attempt to access property on undefined variable or class name
2019-03-04 12:25:50,564 WARN o.a.j.a.BeanShellAssertion: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: ``String ActialResult = vars.get(${FK_SiteId}); String ExpectedResult = "14001"; . . . '' : Typed variable declaration : Attempt to access property on undefined variable or class name
2019-03-04 12:25:50,564 ERROR o.a.j.u.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: ``String ActialResult = vars.get(${FK_SiteId}); String ExpectedResult = "14001"; . . . '' : Typed variable declaration : Attempt to access property on undefined variable or class name
2019-03-04 12:25:50,564 WARN o.a.j.a.BeanShellAssertion: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval Sourced file: inline evaluation of: ``String ActialResult = vars.get(${FK_SiteId}); String ExpectedResult
= "14001"; . . . '' : Typed variable declaration : Attempt to access property on undefined variable or class name
2019-03-04 12:25:50,564 INFO o.a.j.t.JMeterThread: Thread is done: SQL Database Connection 1-1
2019-03-04 12:25:50,564 INFO o.a.j.t.JMeterThread: Thread finished: SQL Database Connection 1-1
2019-03-04 12:25:50,564 INFO o.a.j.e.StandardJMeterEngine: Notifying test listeners of end of test
2019-03-04 12:25:50,564 INFO o.a.j.g.u.JMeterMenuBar: setRunning(false, *local*)
谁能告诉我哪里出错了
解决方案
您的变量已保存为 FK_SiteId_1。您可以通过以下方式访问此变量
vars.get("FK_SiteId_1")
或直接${FK_SiteId_1}
用于log.info(...
检查变量值
我更喜欢使用 vars.get 解决方案。
推荐阅读
- sql - 如何从选择查询更新表
- vue.js - 在 Vue 中完成渲染后如何调用方法?
- regex - 用于匹配和替换标点符号、数字和特殊字符的正则表达式
- swift4.2 - 如何修复错误:0x0 的内存读取失败
- javascript - 进入时读取登录凭据中的计时器的可访问性 (ADA) 问题
- java - 需要在多实例环境中缓存一些静态图像
- dataframe - 如何对 pyspark 数据框执行连接操作?
- python - 使用 Django(查询集)计算一年中的天数 - postgres
- javascript - 多个电子邮件的 swiftmailer 电子邮件错误
- android - 获取 SettingsActivity 的 ViewModel (MVVM, Android P)