httprunner3源码解读(5) response.py[通俗易懂]

httprunner3源码解读(5) response.py[通俗易懂]源码目录结构get_uniform_comparator作用:将比较器别名转换为统一名称ifcomparatorin["eq","equals",

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

源码目录结构

httprunner3源码解读(5) response.py[通俗易懂]
 

get_uniform_comparator

作用:将比较器别名转换为统一名称

    if comparator in ["eq", "equals", "equal"]:
        return "equal"
    elif comparator in ["lt", "less_than"]:
        return "less_than"
    elif comparator in ["le", "less_or_equals"]:
        return "less_or_equals"
    elif comparator in ["gt", "greater_than"]:
        return "greater_than"
    elif comparator in ["ge", "greater_or_equals"]:
        return "greater_or_equals"
    elif comparator in ["ne", "not_equal"]:
        return "not_equal"
    elif comparator in ["str_eq", "string_equals"]:
        return "string_equals"
    elif comparator in ["len_eq", "length_equal"]:
        return "length_equal"
    elif comparator in [
        "len_gt",
        "length_greater_than",
    ]:
        return "length_greater_than"
    elif comparator in [
        "len_ge",
        "length_greater_or_equals",
    ]:
        return "length_greater_or_equals"
    elif comparator in ["len_lt", "length_less_than"]:
        return "length_less_than"
    elif comparator in [
        "len_le",
        "length_less_or_equals",
    ]:
        return "length_less_or_equals"
    else:
        return comparator

 

uniform_validator

作用:统一验证器

由于3和2的验证格式不一致,所以写了这个函数来兼容旧版本的格式

  • 旧版本格式
{"check": "status_code", "comparator": "eq", "expect": 201}
{"check": "$resp_body_success", "comparator": "eq", "expect": True}
  • 新版本格式
{'eq': ['status_code', 201]}
{'eq': ['$resp_body_success', True]}

最后返回的格式为

{
        "check": check_item,  # 想断言的字段,e.g. stats_code
        "expect": expect_value,  # 期望值
        "assert": assert_method,  # 断言的方法,e.g. eq
        "message": message,  # 默认是空字符串
}

 

ResponseObject

作用:初始化response.Response对象,提取报文字段,校验断言

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/165352.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • RabbitMQ消息监听异常问题探究「建议收藏」

    RabbitMQ消息监听异常问题探究「建议收藏」问题场景在使用SpringRabbitMQ做消息监听时,如果监听程序处理异常了,且未对异常进行捕获,会一直重复接收消息,然后一直抛异常。为了更好的描述问题,下面写个简单的例子。通过访问null对象来引发空指针异常,消息监听处理程序代码清单:packageamqp;importorg.springframework.amqp.core.Message;importorg.springfram

    2022年8月16日
    7
  • nmap命令大全[通俗易懂]

    nmap命令大全[通俗易懂]扫描类型-sTTCPconnect()扫描:这是最基本的TCP扫描方式。connect()是一种系统调用,由操作系统提供,用来打开一个连接。如果目标端口有程序监听,connect()就会成功返回,否则这个端口是不可达的。这项技术最大的优点是,你勿需root权限。任何UNIX用户都可以自由使用这个系统调用。这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息。-sSTCP同步扫描(TCPSYN):因为不必全部打开一个TCP连接,所以这项技术通常称为半开扫描(half-ope

    2022年5月28日
    38
  • Flink学习之flink sql「建议收藏」

    Flink学习之flink sql「建议收藏」???? 昨天我们学习完TableAPI后,今天我们继续学SQL,TableAPI和SQL可以处理SQL语言编写的查询语句,但是这些查询需要嵌入用Java、Scala和python编写的程序中。hadoop专题:hadoop系列文章.spark专题:spark系列文章.flink专题:Flink系列文章.????只需要具备SQL的基础知识即可,不需要其他编程经验。我的SQL客户端选择的是docker安装的FlinkSQLClick,大家根据自己的需求安装即可。目录1.1.

    2022年8月20日
    9
  • vue生成二维码并下载[通俗易懂]

    vue生成二维码并下载[通俗易懂]vue生成二维码图片,这里使用的是qrcode.js这个插件1、下载插件npminstall–saveqrcodejs22、组件内使用<template><Buttontype=”primary”size=”small”@click=”getScan()”>扫一扫</Button><Buttontype=”primary”size=”small”@click=”getDownload()”>下载</Bu..

    2022年10月3日
    2
  • 《Cisco ASA设备使用指南(第3版)》一2.13 Cisco Catalyst 6500系列ASA服务模块

    《Cisco ASA设备使用指南(第3版)》一2.13 Cisco Catalyst 6500系列ASA服务模块

    2022年3月2日
    38
  • matplotlib颜色代码_matplotlib color

    matplotlib颜色代码_matplotlib color命令形如:plt.plot(x,y,linewidth=’1′,label=”test”,color=’red’,linestyle=’:’,marker=’|’)plt.legend(loc=’upperleft’)plt.show()线条形式(linestyle):’-‘solidlinestyle’–‘dashedli…

    2022年10月15日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号