Как сравнить результаты запроса базы данных со строкой, используя Bean Shell Assertion в JMeter - PullRequest
0 голосов
/ 04 марта 2019

Я новичок в JMeter.

В моем плане тестирования я использую

  1. Конфигурация соединения JDBC для соединения с базой данных SQL.
  2. JDBC Запрос на выполнение запроса выбора.И я использовал поле Имена переменных для хранения FK_SiteId из ответа базы данных, как показано ниже.enter image description here

  3. Я использовал Debug Sampler для печати FK_SiteId в результатах.Пожалуйста, найдите результат отладки.enter image description here

  4. Я использую подтверждение BeanShell для сравнения фактического FK_SiteId с ожидаемым FK_SiteId, как показано ниже.

enter image description here

Пожалуйста, найдите сообщение об ошибке ниже.

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*)

Может кто-нибудь сказать мне, где я иду не так

1 Ответ

0 голосов
/ 05 марта 2019

Ваша переменная была сохранена как FK_SiteId_1.Вы можете получить доступ к этой переменной с помощью

vars.get("FK_SiteId_1") или напрямую ${FK_SiteId_1}

Используйте log.info(..., чтобы проверить значение переменной

Я предпочитаю использовать решение vars.get.

...