Forum Discussion

dubbySwords's avatar
New Contributor
3 years ago

SoapUi Property Expansion within the json of the request body not working

Hi, I'm evaluating this tool and have come across a problem. SoapUI property expansion is not working for me. I am attempting to expand a property in some json which forms a body in my request: ...
  • richie's avatar
    3 years ago
    Hey dubbySwords,

    What version are you running?
    I'm running v5.6.0 and i have multiple project, testsuite and testcase level projects running fine.

    Could you plz provide screen grabs of your testcase level properties, your test step and the teststeps payload please? With those we should be able to spot the problem.

    The syntax you provided looks fine too, '${#TestCase#CustomerProperty}'. Are you sure youve inserted both # symbols?
    Reason i ask is that this used to catch me out. You can either use the 'scope' (or level) where you specify the level such as '${#TestCase#CustomerProperty}' i.e. using the 'scope' thing, youre specifying the "level" at which your properties are held relative to your current you specify '${#TestCase#CustomerProperty}' (so you include a # in front or 'TestCase') OR you can specify the object
    name, e.g. testcase name such as '${CreateRecord#CustomerProperty}' and as you can only include a single hash to separate object name and property name.

    If i were you id focus on ensuring if using scope/level approach you include a # before specifying the level name or if using object name theres only one # needed.

    Id also check your camel case is correct....i.e. TestCase rather than anything else.

    The issue will probably be something like either of the two issues ive described above, but screenshots will help confirm what the issue is.


  • richie's avatar
    3 years ago
    Hey dubbySwords,

    Glad you got it all worked out.

    Just as a side note on security. All places of work have security considerations so you have to be careful posting screenshots. However the only thing you need to obfuscate in the screenshots is the host/ip address/domain of the endpoint/api you are attempting to hit. (As well as any username and password details).

    Say for example you have a GET endpoint with the following full URL:{id}/somethingelse?entityid=12345&year=2021

    Using the above as an example, you only supply the URI, not the URL

    So you wouldnt include the host/ip/domain, youd just specify

    GET --> /folder1/folder2/{id}/somethingelse?entityid=12345&year=2021

    From a security perspective without the host details (included in the URL, not the URI), any other user would not be able to do anything that would compromise security.

    So you just need to ensure if you need to add screenshota in future, just edit the image beforehand hiding/scrubbing out the host/ip/domain