Empty Rest Requests and Responses in Transaction Log
After performing a data driven test (Steps inside Loop: Rest-Request, Groovy-Script, Datasink) the transaction log shows only empty fields in all views. The test itself an the assertions checks inside rest-step and in groovy-step seem to work properly, which is indicated by the data stored in datasink.
Curiously a cloned testcase, which only differs in the endpoint works properly (transaction-log is not empty). I cloned the testcase when the broken Testcase did still work.
When I clone the broken testcase, the cloned testcase is still broken.
Current workaround: When I build the testcase "from scratch", the testcase shows transaction logs of Rest-Request steps. However the exactly the same happened to me few weeks ago and i thought, i might have misconfigured something but this time I am sure not having changed any Testcase Execution Preferences. This workaroung is somehow not very satisfying.
The described solution to a similar similar issue (enclosing the whole request in brackets) did not work for me.
EDIT: I solved the Issue. As stated below the problem was related to an JSON Assertion, so i took a closer look at my 2 Assertions (which actually worked), that lead to an empty transaction Log:
- The first JsonPath assertion had an useless right bracket "}", probably a Copy&Paste Artifact.Hoewever, the assertion itself worked as expected.
- The second JsonPath assertion should ensure, that a certain Path should be empty. Solution: Using JsonPath-Existance Assertion.
For me its a bug, since the Assertions are evaluated correctly/robust, even if some Json-Path expressions were incorrect. The relation of this robust behaviour to transaction log is not clear to me.
I realized, that REST-Request Steps within a loop remain only empty if there are enabled assertions. This would explain, why a cloned Test-Case (without any set Assertions, since the rest-step differs in the response structure) However disabling seems not to be a very satisfactory solution.