httprunner自定义校验器(validate)整理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了httprunner自定义校验器(validate)整理相关的知识,希望对你有一定的参考价值。
参考技术A 因为httprunner内置的校验器无法满足所有业务需求,自定义校验器使用hook机制实现。将需要的校验函数放置到的debugtalk.py文件中。函数只能传入两个参数,一个是实际结果,一个是预期结果。
调用方法是在用例的校验器里直接引用函数名称。
validate:
- "check": 实际结果,"comparator":"函数名称","expect": 预期结果
一些写过的校验器函数:
def time_weekday_eq(reponse_time, interval_weekday):
'''
效验传入时间是否是固定在一个星期的某一天
:paramreponse_time: 接口里需要校验的时间
:paraminterval_weekday: 期望的时间,1到7的整数,代表星期一到星期日
:return: 格式化传入的时间戳获取对应的星期与期望的时间比对
'''
ltime = time.localtime(int(reponse_time))
dateymd = time.strftime("%Y-%m-%d", ltime)
time_weekday = datetime.strptime(dateymd, "%Y-%m-%d").weekday() +1
assert int(time_weekday) == interval_weekday
def time_interval_eq(reponse_time, interval):
'''
效验时间是否是按一段间隔时间刷新
:paramreponse_time: 接口里需要校验的时间
:paraminterval: 刷新间隔,单位为天
:return: 传入的时间戳减去当前的时间戳,核验间隔时间小于等于期望的间隔
'''
reponse_interval =int(reponse_time) - time.time()
reponse_interval_day = reponse_interval /86400
assert reponse_interval_day <= interval
以上是关于httprunner自定义校验器(validate)整理的主要内容,如果未能解决你的问题,请参考以下文章
httprunner学习21-正则表达式提取(extract)与校验(validate)
httprunner 3.x学习18 - validate 断言总结
httprunner 2.x学习18 - 报告validate显示LazyString($msg)问题解决