/* * 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); } }