httprunner使用setup_hooks和teardown_hooks方法

使用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

实际用于数据准备和数据库清理应有不错的效果

猜你喜欢

转载自blog.csdn.net/qq1105273619/article/details/90716791
今日推荐