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