Files
httprunner/tests/data/demo_binds.yml
debugtalk f41729094a refactor variable context:
1, variable context has two level, testset and testcase;
2, testset level variables can be used in whole test suite, while testcase level variables can only be used in testcase;
3, when variable binds with functions, the funtions will be called and the result will be set to the variable.
2017-07-20 22:43:18 +08:00

37 lines
1.2 KiB
YAML

bind_variables:
variable_binds:
- TOKEN: "debugtalk"
- token: $TOKEN
bind_lambda_functions:
function_binds:
add_one: "lambda x: x + 1"
add_two_nums: "lambda x, y: x + y"
variable_binds:
- add1: ${add_one(2)}
- sum2nums: ${add_two_nums(2, 3)}
bind_lambda_functions_with_import:
requires:
- random
- string
- hashlib
function_binds:
gen_random_string: "lambda str_len: ''.join(random.choice(string.ascii_letters + string.digits) for _ in range(str_len))"
gen_md5: "lambda *str_args: hashlib.md5(''.join(str_args).encode('utf-8')).hexdigest()"
variable_binds:
- TOKEN: debugtalk
- random: ${gen_random_string(5)}
- data: "{'name': 'user', 'password': '123456'}"
- authorization: ${gen_md5($TOKEN, $data, $random)}
bind_module_functions:
function_binds:
import_module_functions:
- tests.data.custom_functions
variable_binds:
- TOKEN: debugtalk
- random: ${gen_random_string(5)}
- data: "{'name': 'user', 'password': '123456'}"
- authorization: ${gen_md5($TOKEN, $data, $random)}