Oops, I'd overlooked that, but it is documented:

http://jakarta.apache.org/jmeter/usermanual/test_plan.html#executionorder

So to actually run BeanShell after an Assertion you would need to use
a BSH Assertion or a BSH Listener.

On 02/02/2009, perf_eng <[email protected]> wrote:
>
>  Got it.  What I realized is that the post processor is evaluated before the
>  assertion and so there was never anything to evaluate when the post
>  processor ran (in terms of the assertion object).  I used the
>  "JMeterThread.last_sample_ok" in the IF controller and it worked as you
>  said.  Thanks.
>
>
>
>  sebb-2-2 wrote:
>  >
>  > If an assertion fails, then it sets the sample to failed.
>  >
>  > On 02/02/2009, perf_eng <[email protected]> wrote:
>  >>
>  >>  But that's precisely why I want to check the assertion and not the
>  >> sample.  A
>  >>  valid page may return giving a response code of 200 but it's not the
>  >> page
>  >>  I'm looking for, for instance at a login page.  So I check for unique
>  >> text
>  >>  to make sure the desired page is returned; if not skip everything else.
>  >> I
>  >>  am having issues accessing that previous assertion.
>  >>
>  >>  Thanks for the prompt response by the way.
>  >>
>  >>
>  >>
>  >>
>  >>
>  >>  sebb-2-2 wrote:
>  >>  >
>  >>  > On 02/02/2009, perf_eng <[email protected]> wrote:
>  >>  >>
>  >>  >>  I have assertion results for every page that I visit.  In the
>  >> beanshell
>  >>  >> post
>  >>  >>  processors, I am trying to ascertain if the previous assertion was a
>  >>  >> success
>  >>  >>  or failure so that I can force it to make a decision on whether or
>  >> not
>  >>  >> to
>  >>  >>  access the subsequent pages.  Essentially, if the previous assertion
>  >>  >> fails,
>  >>  >>  skip all remaining requests to prevent cascading failures.
>  >>  >
>  >>  > No need for a BeanShell PP in that case - just check the variable
>  >>  >
>  >>  >         JMeterThread.last_sample_ok
>  >>  >
>  >>  > see for example:
>  >>  >
>  >>  >
>  >> 
> http://jakarta.apache.org/jmeter/usermanual/component_reference.html#If_Controller
>  >>  >
>  >>  > But if you do want to use BeanShell, then just use the boolean
>  >>  > prev.isSuccessful()
>  >>  >
>  >>  > This will work even if the sample fails entirely (e.g. 404) when the
>  >>  > Assertions would be skipped anyway (unless you select Ignore status).
>  >>  >
>  >>  >>
>  >>  >>
>  >>  >>  sebb-2-2 wrote:
>  >>  >>  >
>  >>  >>  > On 02/02/2009, perf_eng <[email protected]> wrote:
>  >>  >>  >>
>  >>  >>  >>  I am having a similar issue.  I have a test plan with an http
>  >>  >> sampler
>  >>  >>  >> with a
>  >>  >>  >>  response assertion as the first child and a beanshell post
>  >> processor
>  >>  >> as
>  >>  >>  >> the
>  >>  >>  >>  second child.  When I use the "prev" variable such as this
>  >>  >>  >>
>  >>  >>  >>  assertionLength = prev.getAssertionResults().length;
>  >>  >>  >>
>  >>  >>  >>  assertionLength is 0 even though the assertion did not fail nor
>  >> give
>  >>  >> an
>  >>  >>  >>  error.  Where am I going wrong?  I will provide more detail if
>  >>  >> needed.
>  >>  >>  >>
>  >>  >>  >
>  >>  >>  > Assertion results are only generated if there is an error.
>  >>  >>  > You can see that if you use the Tree View Listener.
>  >>  >>  >
>  >>  >>  > What are you actually trying to do with the BSH PP?
>  >>  >>  >
>  >>  >>  >>
>  >>  >>  >>  sebb-2-2 wrote:
>  >>  >>  >>  >
>  >>  >>  >>  > On 12/10/2008, Pavel Gouchtchine <[email protected]> wrote:
>  >>  >>  >>  >> Thanks a lot.
>  >>  >>  >>  >>  This is working as expected:
>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>  >>  import org.apache.jmeter.util.JMeterUtils;
>  >>  >>  >>  >>  import org.apache.jmeter.samplers.SampleResult;
>  >>  >>  >>  >>
>  >>  >>  >>  >> import org.apache.jmeter.assertions.AssertionResult;
>  >>  >>  >>  >>
>  >>  >>  >>  >
>  >>  >>  >>  > You probably don't need the imports.
>  >>  >>  >>  >
>  >>  >>  >>  >>
>  >>  >>  >>  >>  print("running");
>  >>  >>  >>  >>  SampleResult prev_result=ctx.getPreviousResult();
>  >>  >>  >>  >
>  >>  >>  >>  > There is no need to declare variables.
>  >>  >>  >>  >
>  >>  >>  >>  > Also, the current result (i.e. the one the Assertion is
>  >> intended
>  >>  >> to be
>  >>  >>  >>  > applied to) is already set up in the variable "SampleResult".
>  >>  >>  >>  >
>  >>  >>  >>  > See:
>  >>  >>  >>  >
>  >>  >>  >>  >
>  >>  >>  >>
>  >>  >>
>  >> 
> http://jakarta.apache.org/jmeter/usermanual/component_reference.html#BeanShell_Assertion
>  >>  >>  >>  >
>  >>  >>  >>  > for all the variables that are defined to the BeanShell
>  >> Assertion
>  >>  >>  >> script.
>  >>  >>  >>  >
>  >>  >>  >>  >>  if (prev_result !=  null) {
>  >>  >>  >>  >>
>  >>  >>  >>  >>      print("prev is not null");
>  >>  >>  >>  >>
>  >>  >>  >>  >>      AssertionResult []
>  >>  >> results=prev_result.getAssertionResults();
>  >>  >>  >>  >>
>  >>  >>  >>  >>      if (results == null) print ("results is null");
>  >>  >>  >>  >>
>  >>  >>  >>  >>      int size = results.length;
>  >>  >>  >>  >>
>  >>  >>  >>  >>      for (int i=0; i<=size-1; i++) {
>  >>  >>  >>  >>
>  >>  >>  >>  >>           AssertionResult result_item = results[i];
>  >>  >>  >>  >>
>  >>  >>  >>  >>           if (result_item == null) print ("result item is
>  >> null");
>  >>  >>  >>  >>
>  >>  >>  >>  >>           else print("result_item "+i+" is not null");
>  >>  >>  >>  >>           print("Name: "+result_item.getName()+" ===>
>  >>  >>  >>  >> "+result_item.toString());
>  >>  >>  >>  >>
>  >>  >>  >>  >>      }
>  >>  >>  >>  >>  }
>  >>  >>  >>  >>  else print("prev_result is null");
>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>  >>  On Sat, Oct 11, 2008 at 7:35 PM, sebb <[email protected]>
>  >> wrote:
>  >>  >>  >>  >>  > On 12/10/2008, Pavel Gouchtchine <[email protected]>
>  >> wrote:
>  >>  >>  >>  >>  >> Hi All.
>  >>  >>  >>  >>  >>  I am trying to get access to "prev" variable
>  >> (SampleResult
>  >>  >>  >> object)
>  >>  >>  >>  >>  >>  from BeanShell Assertion.
>  >>  >>  >>  >>  >>  My code look like this:
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  import org.apache.jmeter.util.JMeterUtils;
>  >>  >>  >>  >>  >>  import org.apache.jmeter.samplers.SampleResult;
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  print("running");
>  >>  >>  >>  >>  >>  SampleResult prev=vars.get("prev");
>  >>  >>  >>  >>  >>  if (prev !=  null) {
>  >>  >>  >>  >>  >>      print("prev is not null");
>  >>  >>  >>  >>  >>      results=prev.getAssertionResults();
>  >>  >>  >>  >>  >>      if (results == null) print ("results is null");
>  >>  >>  >>  >>  >>      size = results.length;
>  >>  >>  >>  >>  >>      for (int i=0; i<=size-1; i++) {
>  >>  >>  >>  >>  >>           result_item = results[i];
>  >>  >>  >>  >>  >>           if (result_item == null) print ("result item is
>  >>  >> null")
>  >>  >>  >>  >>  >>           else ("result_item "+i+" is not null");
>  >>  >>  >>  >>  >>  }
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>  This code does not work at all. prev variable is null.
>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  > The previous sampler is stored in the BeanShell variable
>  >>  >> "prev",
>  >>  >>  >> not
>  >>  >>  >>  >>  > the JMeter variable "prev". The code above overwrote the
>  >>  >> variable
>  >>  >>  >> you
>  >>  >>  >>  >>  > want...
>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  > Just use "prev" - it is already set up, as are the other
>  >>  >>  >> variables,
>  >>  >>  >>  >>  > e.g. "log", "ctx" etc.
>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  >>  Please, help.
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >> ---------------------------------------------------------------------
>  >>  >>  >>  >>  >>  To unsubscribe, e-mail:
>  >>  >>  >> [email protected]
>  >>  >>  >>  >>  >>  For additional commands, e-mail:
>  >>  >>  >> [email protected]
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >>
>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  >
>  >>  >>  >>
>  >> ---------------------------------------------------------------------
>  >>  >>  >>  >>  > To unsubscribe, e-mail:
>  >>  >> [email protected]
>  >>  >>  >>  >>  > For additional commands, e-mail:
>  >>  >>  >> [email protected]
>  >>  >>  >>  >>  >
>  >>  >>  >>  >>  >
>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>
>  >> ---------------------------------------------------------------------
>  >>  >>  >>  >>  To unsubscribe, e-mail:
>  >>  >> [email protected]
>  >>  >>  >>  >>  For additional commands, e-mail:
>  >>  >> [email protected]
>  >>  >>  >>  >>
>  >>  >>  >>  >>
>  >>  >>  >>  >
>  >>  >>  >>  >
>  >>  >> ---------------------------------------------------------------------
>  >>  >>  >>  > To unsubscribe, e-mail:
>  >> [email protected]
>  >>  >>  >>  > For additional commands, e-mail:
>  >>  >> [email protected]
>  >>  >>  >>  >
>  >>  >>  >>  >
>  >>  >>  >>  >
>  >>  >>  >>
>  >>  >>  >>  --
>  >>  >>  >>
>  >>  >>  >> View this message in context:
>  >>  >>  >>
>  >>  >>
>  >> 
> http://www.nabble.com/How-get-SampleResult-from-BeanShell-Listener-tp19937409p21793226.html
>  >>  >>  >>  Sent from the JMeter - User mailing list archive at Nabble.com.
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >>
>  >>  >> ---------------------------------------------------------------------
>  >>  >>  >>  To unsubscribe, e-mail:
>  >> [email protected]
>  >>  >>  >>  For additional commands, e-mail:
>  >> [email protected]
>  >>  >>  >>
>  >>  >>  >>
>  >>  >>  >
>  >>  >>  >
>  >> ---------------------------------------------------------------------
>  >>  >>  > To unsubscribe, e-mail: [email protected]
>  >>  >>  > For additional commands, e-mail:
>  >> [email protected]
>  >>  >>  >
>  >>  >>  >
>  >>  >>  >
>  >>  >>
>  >>  >>  --
>  >>  >>
>  >>  >> View this message in context:
>  >>  >>
>  >> 
> http://www.nabble.com/How-get-SampleResult-from-BeanShell-Listener-tp19937409p21795540.html
>  >>  >>
>  >>  >> Sent from the JMeter - User mailing list archive at Nabble.com.
>  >>  >>
>  >>  >>
>  >>  >>
>  >> ---------------------------------------------------------------------
>  >>  >>  To unsubscribe, e-mail: [email protected]
>  >>  >>  For additional commands, e-mail: [email protected]
>  >>  >>
>  >>  >>
>  >>  >
>  >>  > ---------------------------------------------------------------------
>  >>  > To unsubscribe, e-mail: [email protected]
>  >>  > For additional commands, e-mail: [email protected]
>  >>  >
>  >>  >
>  >>  >
>  >>
>  >>  --
>  >>
>  >> View this message in context:
>  >> 
> http://www.nabble.com/How-get-SampleResult-from-BeanShell-Listener-tp19937409p21797384.html
>  >>
>  >> Sent from the JMeter - User mailing list archive at Nabble.com.
>  >>
>  >>
>  >>  ---------------------------------------------------------------------
>  >>  To unsubscribe, e-mail: [email protected]
>  >>  For additional commands, e-mail: [email protected]
>  >>
>  >>
>  >
>  > ---------------------------------------------------------------------
>  > To unsubscribe, e-mail: [email protected]
>  > For additional commands, e-mail: [email protected]
>  >
>  >
>  >
>
>  --
>
> View this message in context: 
> http://www.nabble.com/How-get-SampleResult-from-BeanShell-Listener-tp19937409p21798502.html
>
> Sent from the JMeter - User mailing list archive at Nabble.com.
>
>
>  ---------------------------------------------------------------------
>  To unsubscribe, e-mail: [email protected]
>  For additional commands, e-mail: [email protected]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to