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)问题解决

自定义校验注解(org.hibernate.validator)

javax.validation 自定义校验器

SpringBoot Validation参数校验 详解自定义注解规则和分组校验