Search code examples
groovyjmeterjsr223

Get empty response data when variable not defined


I try to use following code to check response of a HTTP Request, which is called from another Thread Group by a Module Controller.

File myfile = new File(FileServer.resolveBaseRelativeName("results/" + filen + "-report.xml"));

if(${__isVarDefined(vars.get("myvar"))} == true){
        FileUtils.writeByteArrayToFile(myfile,bytes);
} else {
        FileUtils.writeStringToFile(myfile, prev.getResponseDataAsString(), "UTF-8");
}

Empty xml is created when myvar variable is empty, it doesn't contains response data of request.


Solution

  • You can write byte[] in both cases using getResponseData() (and removed function call)

    if(vars.get("myvar") ! null){
        FileUtils.writeByteArrayToFile(myfile, bytes);
    } else {
        FileUtils.writeByteArrayToFile(myfile, prev.getResponseData());
    }