Define it once.
Change what matters.
Paylo substitutes values inside valid JSON. You decide which data goes in; the structure does not need to be rewritten for every test scenario.
Explicit variables.
Python dictionaries or Robot Framework data. No implicit environment reads.
Types stay intact.
A number stays a number. Booleans, lists, objects and null retain their types when they occupy the entire value.
Clear errors.
Paylo tells you when a variable is missing. Values are neither executed nor expanded again.
Try your own template.
Edit the JSON and variables in the interactive documentation example.
From a template to your tests¶
from paylo import render_template
payload = render_template(
{"name": "{{customer.name}}", "quantity": "{{quantity}}", "active": "{{active}}"},
{"customer": {"name": "Ana"}, "quantity": 3, "active": True},
)
assert payload == {"name": "Ana", "quantity": 3, "active": True}
The result retains the string, number and boolean. No HTTP request is sent.
User guide · Complete examples
[{"name": "English", "lang": "en", "link": "/robotframework-paylo/", "fragments": {"from-a-template-to-your-tests": "from-a-template-to-your-tests"}, "current": true}, {"name": "Espa\u00f1ol", "lang": "es", "link": "/robotframework-paylo/es/", "fragments": {"from-a-template-to-your-tests": "de-la-plantilla-a-tus-pruebas"}, "current": false}]