I've seen a similar approach with UnRAVL: https://github.com/sassoftware/unravl
UnRAVL is neat because writing test scripts in JSON makes it easy to include a formatted request body. The drawback is that variable substitutions only support strings due to the limitations imposed by JSON.