httprunner自定义校验器(validate)整理

因为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



©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容