4.2 是否跳过

用例跳过

实现原理, 经过内部处理之后拿到一个True or False,如果是 True 则抛出一个 Skipped 异常

前置处理

使用变量

来源: 响应提取后置SQL结果
使用$变量名 的方式来引用变量

使用函数

来源:hooks.py 定义的函数
调用无参方法:${方法名()}
调用有参方法:${方法名(参数)}

执行表达式

读取单元格字符内容后,被Python转换成对应的布尔值

条件表达式: 1>2
用例数据
用例标题 是否跳过 请求头 请求地址 请求方式 入参关键字 上传文件 请求数据 提取参数 后置SQL 预期结果
get登录1 1>2 {"c1": "条件比较"} login get params {"username": "admin", "password": ""} {"msg":"$.meta.msg"} {"$.meta.status":400}

实际结果

上述内容在Python中 1 > 2 结果为 False, 所以这条用例执行

引用变量:$userId > 1000
用例数据
用例标题 是否跳过 请求头 请求地址 请求方式 入参关键字 上传文件 请求数据 提取参数 后置SQL 预期结果
get登录1 $userId > 1000 {"c1": "条件比较"} login get params {"username": "admin", "password": ""} {"msg":"$.meta.msg"} {"$.meta.status":400}

假设变量池数据

{"userId": 10001}

实际结果

上述内容先处理$userId -> 10001, 再Python 中 10001 > 1000,结果为 True, 该用例跳过,不执行

引用函数 ${skip()}
用例数据
用例标题 是否跳过 请求头 请求地址 请求方式 入参关键字 上传文件 请求数据 提取参数 后置SQL 预期结果
get登录1 ${skip()} {"c1": "条件比较"} login get params {"username": "admin", "password": ""} {"msg":"$.meta.msg"} {"$.meta.status":400}

假设hooks.py

def skip():
    return True

实际结果

上述内容先处理${skip()} -> True, 再Python 中结果为 True, 该用例跳过不执行

经过测试单元格内容为TRUE -> Python True FALSE -> Python False