Reference current Response-SOAP-XML in context.expand
In my project I have many teststeps: TF001, TF002, TF003, …
These teststeps are organized in the testcase “getOffer”
I want to run these teststeps individually, as well as all together in the testcase.
For both these ways I want to do something special every time and with each response-xml: get a base64-element, decrypt it and write it to the harddrive
My understanding is that Events -> RequestFilter.afterRequest is the appropriate solution for my problem.
So far so good…
My question is how to reference the current response-xml (SOAP) and the specific element with the base64-data.
I want to have one Event-Filter-Script, which should work for all!
The following code works fine for the first teststep and only for the first step.
def rawFile = context.expand( '${TF001#Response#declare namespace gevo=\'http://www.bipro.net/namespace/gevo\'; declare namespace allg=\'http://www.bipro.net/namespace/allgemein\'; //gevo:Datei[1]/allg:Daten[1]}' )
How can I re-write this groovy code so it works for all? I must get rid of the “TF001”.
Can you please tell me how to do this?
The following attempts did not work
def rawFile = context.expand( '${SOAP Request#Response...
def rawFile = context.expand( '${#TestStep#Request#Response...
use only:
context.expand( '${Response...
For instance:
context.expand( '${Response#declare namespace tem="http://learnwebservices.com/services/tempconverter"; //tem:TemperatureInFahrenheit}')
I have tested this code in TestRunListener.afterStep.