JMeter, как использовать SampleResult.getFirstAssertionFailureMessage () - PullRequest
0 голосов
/ 09 января 2019

В BeanShell Assertion я хочу проверить, не вышел ли текущий HTTP Sampler, если он вышел из строя, а затем собрать информацию об ошибке.
SampleResult.isSuccessful () используется для первой проверки всего статуса сэмплера.
Если он не возвращает true, вызовите SampleResult.getFirstAssertionFailureMessage ().

Однако точки сообщения об ошибке HTTPSampleResult не имеют этого метода.

ERROR o.a.j.u.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: ``//PostProcessors are executed before any assertions import org.apache.jmeter.sam . . . '' : Typed variable declaration : Error in method invocation: Method getFirstAssertionFailureMessage() not found in class'org.apache.jmeter.protocol.http.sampler.HTTPSampleResult'

HTTPSamperResult api: http://jmeter.apache.org/api/org/apache/jmeter/protocol/http/sampler/HTTPSampleResult.html
API SamperResult: https://jmeter.apache.org/api/org/apache/jmeter/samplers/SampleResult.html

В моем сценарии метод isSuccessful (), getSampleLabel (true), getSamplerData (), getResponseDataAsString () работают нормально, но не getFirstAssertionFailureMessage ().

Меня действительно смущает, значит ли это, что HTTPSampleResult может вызывать только часть методов из SampleResult?
Если да, как мы можем определить список методов?

1 Ответ

0 голосов
/ 09 января 2019

Это должно работать нормально, если вы используете версию JMeter, для которой актуален этот JavaDoc. Если вы заглядываете на сайт - у вас должна быть установлена ​​последняя версия, доступная на странице JMeter Downloads .

Например, он отлично работает в JMeter 5.0

enter image description here

Также следует помнить, что в соответствии с JMeter Best Practices следует использовать тестовые элементы JSR223 и язык Groovy для сценариев , поэтому рассмотрите возможность перехода на Утверждение JSR223 .

...