BeanShellAssertion.bsh 2.12 KB
/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * 
 */

// Sample BeanShell Assertion script
// Derived from http://www.mail-archive.com/jmeter-user@jakarta.apache.org/msg05597.html

if (ResponseCode != null && ResponseCode.equals ("200") == false )
{
    // this is standard stuff
    Failure=true ;
    FailureMessage ="Response code was not a 200 response code it was " + ResponseCode + "." ;
    print ( "the return code is " + ResponseCode);   // this goes to stdout
    log.warn( "the return code is " + ResponseCode); // this goes to the JMeter log file
} else {
    try
    {
         // non standard stuff where BeanShell assertion will be really powerful .
         // in my example I just test the size , but you could extend it further
         // to actually test the content against another file.
         byte [] arr = (byte[]) ResponseData ;
        // print  ( arr.length ) ; // use this to determine the size
         if (arr != null && arr.length != 25218)
         {
             Failure= true ;
             FailureMessage = "The response data size was not as expected" ;
          }
          else if ( arr == null )
          {
              Failure= true ;
              FailureMessage = "The response data size was null"  ;
           }
     }
     catch ( Throwable t )
     {
          print ( t ) ;
          log.warn("Error: ",t);
     }
}