Hi Karate community wish you can help me with this doubt ,I'm trying to create some evidence for my test cases ,because the organization where I'm working is not accepting neither cucumber or karate report.
The problem happen when my javaScript function use the karate.prevRequest.body functionality of karate, this brings a null value, but I already try it at feature level and work perfectly, I really don't know what's going on, I hope someone know what I'm doing wrong.
Here the piece of code and responses I'm getting from the feature and from the javaScript.
from Feature
* def requestBody = karate.prevRequest.body
* def requestString = new java.lang.String(requestBody, 'utf-8')
* print requestString
Response
11:09:15.800 [ForkJoinPool-1-worker-3] INFO com.intuit.karate - [print] {"enrollmentTimeStamp":"2021-03-26T11:09:14","customer":{"customer":"2021032611306","fullName":"Elizabeth Chase Olsen"}}
javaScript under the same feature
And configure afterScenario =
"""
function() {
if( karate.prevRequest != null){
var requestBody = new java.lang.String( karate.prevRequest.body , 'utf-8');
}
var requestMethod = karate.prevRequest.method;
var requestHeaders = karate.prevRequest.headers;
var request = requestMethod + "\n" +requestHeaders+ requestBody;
karate.log(requestBody);
var reportResults = Java.type('Features.reportResults').writeResultsToFilePretty(requestMethod, requestHeaders, requestBody, response, karate.info.scenarioName, karate.info.featureFileName);
}
"""
Response:
11:09:16.040 [ForkJoinPool-1-worker-3] ERROR com.intuit.karate - javascript function call failed: java.lang.NullPointerException
11:09:16.043 [ForkJoinPool-1-worker-3] ERROR com.intuit.karate - failed function body: function() {
if( karate.prevRequest != null){
var requestBody = new java.lang.String( karate.prevRequest.body , 'utf-8');
}
var requestMethod = karate.prevRequest.method;
var requestHeaders = karate.prevRequest.headers;
var request = requestMethod + "\n" +requestHeaders+ requestBody;
karate.log(requestBody);
var reportResults = Java.type('Features.reportResults').writeResultsToFilePretty(requestMethod, requestHeaders, requestBody, response, karate.info.scenarioName, karate.info.featureFileName);
}
11:09:16.044 [ForkJoinPool-1-worker-3] WARN com.intuit.karate - afterScenario hook failed: javascript function call failed: java.lang.NullPointerException