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]

