Add test step name and project name to header SOAP test
Hi!
I'm pretty new to testing so still figuring everything out the best I can 😀
I was wondering is someone could help me out with the following dilemma:
To make my life a bit easier, I want to add the name of the teststep (and possibly the project name as well) to the header of a SOAP request (and response).
How can I make that happen? I've been experimenting with Event handlers and have tried the following (of which I'm quite sure is totally wrong 😅)
Can someone point me in the right direction? Thanks in advance!! 😊
Hi Raven25,
The approach you have chosen definitely makes sense.
To modify the test step headers, you should use TestRunListener.beforeStep. Also, you will be able to use the testStep variable. You can look at the following script and accommodate it for your needs.
import com.eviware.soapui.support.types.StringToStringMap
import com.eviware.soapui.impl.support.http.HttpRequestTestStep
if (testStep instanceof HttpRequestTestStep) {
testRequest = testStep.testRequest
// Create new headers map
def headers = new StringToStringMap()
// Copy existing headers
testRequest.requestHeaders.each { headers.put(it.key, it.value[0])}
// Add TestStep Name
headers.putIfAbsent("x-Testing-TestStep", testStep.getName())
testRequest.setRequestHeaders(headers)
}Best regards,
Karel