使用setup_hooks对请求内容作出修改
使用teardown_hooks对响应作出修改
api模板
name: 登录接口模板
variables:
expected_status_code: 200
password: '800001'
username: '800001'
vercode: ${gen_random_string(5)}
request:
url: "/api/login"
json:
password: '$password'
username: '$username'
vercode: '$vercode'
method: POST
validate:
- eq: ["status_code", $expected_status_code]
yaml脚本编写
- config:
base_url: "http://192.168.1.100:8093"
- test:
name: 用户名密码正确
api: api/login.yaml
setup_hooks:
- ${hook_prepare($request)}
teardown_hooks:
- ${hook_teardown($response)}
variables:
password: '800001'
username: '800001'
extract:
- cookie: cookies.JSESSIONID
validate:
- eq: ["content.success", True]
debugtalk辅助函数
def hook_prepare(request=None):
print('执行准备函数')
if request:
request['json']['username']='800002'
def hook_teardown(response=None):
print('执行结束函数')
if response:
response.status_code =300
执行测试
请求的用户名被改为800002,响应的响应码被改为300
实际用于数据准备和数据库清理应有不错的效果