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)
上一篇 2022年7月30日 下午7:00
下一篇 2022年7月30日 下午7:16


相关推荐

  • java redis锁_Java中Redis锁的实现[通俗易懂]

    java redis锁_Java中Redis锁的实现[通俗易懂]由于具体业务场景的需求,需要保证数据在分布式环境下的正确更新,所以研究了一下Java中分布式锁的实现。Java分布式锁的实现方式主要有以下三种:数据库实现的乐观锁Redis实现的分布式锁Zookeeper实现的分布式锁其中,较常用的是前两种方式,但是数据库实现方式需要较多的数据库操作,所以最终选择的是用Redis实现分布式锁。最初考虑分布式锁的数据安全性的时候,只考虑到两点。第一,Redis锁需要…

    2022年6月23日
    30
  • python py2exe_编写简单网页

    python py2exe_编写简单网页简介py2exe是 Python Distutils 的一个外部扩展,它可以把Python脚本转为可执行的Windows程序,无需安装Python即可运行.你可以在主页 SourceForge 得到更多资源. 说明py2exe可以把Python程序转为包,能够在其他没有安装Python 的电脑上运行。Pythonisneede

    2025年9月5日
    11
  • 通过APKIDE 反编译文件得到.java文件方法

    通过APKIDE 反编译文件得到.java文件方法一 找到 apk 中的 class dex 把 apk 文件改名为 zip 然后解压缩其中的 class dex 文件 它就是 java 文件编译再通过 dx 工具打包成的 1 把 class dex 拷贝到 dex2jar bat 所在目录 直接拖动 class dex 到 dex2jar bat 生成 classes dex dex2jar jar 或者 1 在 cmd 下进入 dex2jar bat 所在路径 然后输入 dex2j

    2026年3月18日
    2
  • 工作流(Workflow)与智能体(Agent)的区别

    工作流(Workflow)与智能体(Agent)的区别

    2026年3月16日
    2
  • Attention机制与Self-Attention机制的区别

    Attention机制与Self-Attention机制的区别本文主要讲解 Attention 机制与 Self Attention 机制的区别 默认读者已经了解过 Attention Self Attention Transformer seq2seqmodel 传统的 Attention 机制在一般任务的 Encoder Decodermodel 中 输入 Source 和输出 Target 内容是不一样的 比如对于英 中机器翻译来说 Source 是英文句子 Target 是对应的翻译出的中文句子 Attention 机制发生在 Target 的元素 Query 和

    2026年3月18日
    2
  • OpenClaw 入门到实战:安装、配置、使用、升级与卸载(Windows/macOS/Linux)

    OpenClaw 入门到实战:安装、配置、使用、升级与卸载(Windows/macOS/Linux)

    2026年3月18日
    2

发表回复

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

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