Skip to main content

Store Target and Post-Processing

You can use the Store tab in the scenario editor to define extractors that can "listen" for a particular Step and Request and extract data of its response.

When creating a Store entry or an Assert entry in the Scenario Editor, you need to configure the Target depending on the type of response.

Also, you might require to apply some post-processing to the response. In this document, you will find examples of the possible values that can be used for the Target and the Post-processing inputs.

PostProcessing

Here is a list of examples of all the possible functions that can be used for post-processing entry.

value() returns the extracted value.

    substring(value(), 0, 2)

    substring(URLEncode(value(), 2)

    URLEncode(value())

    URLDecode(value())

    append(value(),"-abc123")

    length(value())

    URLParam(value(),'id')

    Target

    In the same way, the TARGET can have a hint text that should be dynamic according to the selected Target.

    The // characters indicate a comment and are not part of the target, with the exception of the HTML target that is an XPath.

    DEFAULT Targets

      duration // returns the request duration

      responseCode // returns the response status code

      size // returns de size in bytes of the response

      md5 // returns checksum md4 value of the response

      HTTP Targets

      Given the response is the following string: "data=45, data=68" then

        raw/data[0] // returns 'data=45' and "raw/data[1]" returns 'data=68'

        #data // returns 45

        Header:Accept // returns de value of the header Accept

        CookieValue:CSRF-TOKEN // returns de value of the cookie CSRF-TOKEN

        HTML Targets

        Use normal XPaths to extract values from HTML. Note that in this case the double slash at the beginning is needed in the target.

          //input[@name='__RequestVerificationToken']/@value

          JSON Targets

          Use JSON paths to extract values from JSON responses, like

          employees[0].address.city

            [2].carousel.images[1].path

            PDF Targets

              document // gets all text in document except forms text

              page[2] // returns al text in page 2 except forms text

              documentforms // gets a json with contents of the forms in the document

              regex:Once upon a .* ever after. // returns text that matches the regular expression if found.

              STRING Targets

              Given the response is the following string: "The tested processed returned: ID=ABCDEF." then

                11,20" // returns "processed"

                ID=,false // returns "ABCDEF."

                ID=,true // returns "ID=ABCDEF."

                ID=,38,false // returns "ABCDE"

                ID=38,true // returns "ID=ABCDE"

                TEXT Targets

                The target should be specified as a regular expression, like:

                  (?<=\"__RequestVerificationToken\" type=\"hidden\" value=\")[a-zA-Z0-9\\-_]+

                  id=.*

                  CSV Targets

                  Given that you have a response formatted as a CSV with the following data

                  id name state

                  1 john California

                  2 barry Nevada

                  3 stef Texas

                  4 karla New York

                  Then:

                    2,2 // returns barry

                    last(),"name" // returns karla

                    ,"name" // returns a string array {"name","john","barry","stef","karla"}

                    3,last() // returns Texas

                    id=3, 2 // returns stef


                    Last updated: February 22, 2023

                    If you have any feedback on this topic, please contact us at documentation@appvance.ai