config: name: demo with complex mechanisms base_url: https://postman-echo.com variables: a: ${sum(10, 2.3)} b: 3.45 "n": ${sum_ints(1, 2, 2)} varFoo1: ${gen_random_string($n)} varFoo2: ${max($a, $b)} teststeps: - name: transaction 1 start transaction: name: tran1 type: start - name: get with params request: method: GET url: /get params: foo1: $varFoo1 foo2: $varFoo2 headers: User-Agent: HttpRunnerPlus variables: b: 34.5 "n": 3 name: get with params varFoo2: ${max($a, $b)} setup_hooks: - ${setup_hook_example($name)} teardown_hooks: - ${teardown_hook_example($name)} extract: varFoo1: body.args.foo1 validate: - check: status_code assert: equals expect: 200 msg: check response status code - check: headers."Content-Type" assert: startswith expect: application/json - check: body.args.foo1 assert: length_equals expect: 5 msg: check args foo1 - check: $varFoo1 assert: length_equals expect: 5 msg: check args foo1 - check: body.args.foo2 assert: equals expect: "34.5" msg: check args foo2 - name: transaction 1 end transaction: name: tran1 type: end - name: post json data request: method: POST url: /post body: foo1: $varFoo1 foo2: ${max($a, $b)} validate: - check: status_code assert: equals expect: 200 msg: check status code - check: body.json.foo1 assert: length_equals expect: 5 msg: check args foo1 - check: body.json.foo2 assert: equals expect: 12.3 msg: check args foo2 - name: post form data request: method: POST url: /post headers: Content-Type: application/x-www-form-urlencoded; charset=UTF-8 body: foo1: $varFoo1 foo2: ${max($a, $b)} time: ${get_timestamp()} extract: varTime: body.form.time validate: - check: status_code assert: equals expect: 200 msg: check status code - check: body.form.foo1 assert: length_equals expect: 5 msg: check args foo1 - check: body.form.foo2 assert: equals expect: "12.3" msg: check args foo2 - name: get with timestamp request: method: GET url: /get params: time: $varTime validate: - check: body.args.time assert: length_equals expect: 13 msg: check extracted var timestamp