解决httprunner3.x上$符号无法当成普通符号用的方法

2023-05-16

前言

由于要测试的api中会涉及$符号的传递, 要求其放在参数中当一个普通符号使用, 但由于httprunner框架处理逻辑, 会将如$coe当成一个变量, 从而报错找不到该变量的值

现象
接口某参数为:

	coeConfig$coal$08d99cca03a84d1d9e9a49b4534bb598

运行时框架会抛出异常:
在这里插入图片描述
分析
研读框架代码, 发现其处理参数的函数regex_findall_variables中, 处理逻辑是:

  1. 寻找$+字母字符串, 提取字符串内容保存为参数
  2. 如果是$$, 则跳过不做提取
    在这里插入图片描述
    看到这里, 以为找到了方法, 即将参数值中的 c o a l 替换为 coal替换为 coal替换为$coal, 但如此操作后仍会报错:
    接口某参数为:
	coeConfig$$coal$08d99cca03a84d1d9e9a49b4534bb598

运行结果:
在这里插入图片描述
发现$$coal仍会被当成参数
进阶分析
加打印调试 + 研读上层代码, 发现有两次预处理, 第一次会将$$coal处理成$coal, 这样导致第二次预处理时又会将$coal当成参数
在这里插入图片描述
在这里插入图片描述
个人分析认为, 第二次预处理大可不必, 暂不清楚作者进行第二次预处理的原因, 注释掉第二次预处理不会影响测试

解决
将第二次预处理进行注释(位置: runner.py中的run_testcase函数中)
在这里插入图片描述

可运行成功, 将$符号传入接口:
脚本中参数:

	coeConfig$$coal$08d99cca03a84d1d9e9a49b4534bb598

执行测试时的接口传参:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决httprunner3.x上$符号无法当成普通符号用的方法 的相关文章

随机推荐

  • 虚拟机Ubuntu没有IP地址上不了网

    环境 Ubuntu 22 04VMware Workstation 15 Pro 问题 之前一直可以正常上网 xff0c 今天忽然上不了网了 查看IP地址 xff0c 发现没有IP了 ip addr 1 lo lt LOOPBACK spa
  • Ubuntu 16.04 + Intelrealsense Depth Camera D455 + VINS-Mono配置全记录

    Ubuntu 16 04 43 IntelRealsense Depth Camera D455 43 VINS Mono配置全记录 文章目录 Ubuntu 16 04 43 IntelRealsense Depth Camera D455
  • 接口类(interface),实现类(class),继承(extends),实现(implements)

    接口类 xff1a 64 Service public interface AppCertMsgService public Map lt String Object gt saveCardMsg AppCertMsg appCertMsg
  • 面试经验(互联网,研究所,国企)

    第二篇 xff1a 这篇文章要介绍我在各个领域各种方式的面试经验 xff0c 包括 互联网 研究所 外企 国企 银行 笔试 的面试及笔试 各种面试形式包括 无领导小组面试 群面 xff08 包括英文 xff08 海信 xff09 xff09
  • 使用Github上Eigen库计算自适应信号处理中维纳滤波算法

    LMS算法是自适应信号处理中最常见的算法之一 xff0c Least Mean Square最小均方算法是自适应系统最常见的算法 xff0c 利用Eigen库的线性代数便利计算 xff0c 得到最小均方误差MSE xff0c 程序如下 Th
  • Git 子模块

    2019 March 01 git Git 子模块 0 子模块信息 gitmodules文件用来保存子模块的信息 1 查看子模块 span class nv span git submodule span class c 已检出子模块代码
  • Ubuntu 18.04 安装Clang/LLVM 11

    从 APT 安装 Install the GPG Key for https apt llvm org wget O https apt llvm org llvm snapshot gpg key sudo apt key add Add
  • adb dumpsys

    windows环境下 adb命令 adb shell dumpsys activity findstr 34 mFocusedActivity 34 linux环境下 adb命令 adb shell dumpsys activity gre
  • GPS经纬度的表示方法及换算

    想要认识GPS中的经纬度 xff0c 就必须先了解GPS xff0c 知道经纬度的来源 xff1a 1 GPS系统组成 GPS是 Gloabal Positioning System 的简称 xff0c 意为全球定位系统 xff0c 主要由
  • void指针

    意义 对象的多态性 有一个对象是picture t xff0c 他的某一个成员函数的作用是读入一帧图像并保存成固定的格式 但是 xff0c 图像种类有很多种 xff0c YUV420 YUV422等等 xff0c 或者压缩方式不同 xff0
  • 虚幻引擎VR游戏开发基础教程

    虚幻引擎VR游戏开发基础教程 了解如何使用 Oculus Quest 2 的蓝图在虚幻引擎 4 中从头开始构建基本的 VR 机制 课程英文名 xff1a Unreal Engine VR Development Fundamentals 此
  • 为linux服务器安装windows的图形化界面(华为云服务器)

    背景 Linux云服务器需要安装桌面才方便编程 xff0c 但在实践中 xff0c 有时候用网络上安装Linux桌面的vncserver的教程不成功 xff0c 所以本文教大家为Linux安装 安装驱动 笔者认为 xff0c 安装图形化界面
  • 机器人视觉系统分为哪几种,主要包括哪些关键技术?

    机器人视觉系统是指用计算机来实现人的视觉功能 xff0c 也就是用计算机来实现对客观的三维世界的识别 人类接收的信息70 以上来自视觉 xff0c 人类视觉为人类提供了关于周围环境 最详细可靠的信息 人类视觉所具有的强大功能和完美的信息处理
  • 云计算部署模型和服务模式,云行业入门的第一步

    云计算 大数据 物联网 人工智能 xff0c 可谓是最近几年大热之词 xff0c 热度一浪高过一浪 xff0c 今天主要介绍的是云计算 xff0c 私有云 公有云 混合云 社区云 xff0c 大家都耳熟能详 xff0c 却不知道属于什么 x
  • 对于人工智能的认识,我们需要更深入全面的理解

    20世纪50年代以来 xff0c 计算机科学家们致力于研发与人类智能类似的程序 当这些程序被开发到一定水平后 xff0c 它们就可以在一些特定的应用场景中替代人类 它们被称为人工智能 xff08 AI xff09 和认知计算 20世纪80年
  • 云计算定义共有几种服务模式,部署模型分为几类?

    NIST的云计算定义共有三种服务模式 xff1a 1 软件即服务 xff1a 消费者使用应用程序 xff0c 但并不掌控操作系统 硬件或运作的网络基础架构 是一种服务观念的基础 xff0c 软件服务供应商 xff0c 以租赁的概念提供客户服
  • ARM和STM32的区别及ARM公司架构的发展

    ARM是英国的芯片设计公司 其最成功的莫过于32位嵌入式CPU核 ARM系列 最常用的是ARM7和ARM9 ARM 处理器传统的命名是 ARM 43 数字的方式 xff1a ARM7 ARM9 ARM11 xff0c 在 ARM11 以后
  • httprunner4.x问题: 运行testcase时, 调用的用例会运行两次

    httprunner4 x问题 运行testcase时 调用的用例会运行两次 问题描述 在测试用例脚本A中使用RunTestCase带参数调用其他api脚本B来构建测试用例时 发现每次运行用例都会有两次运行 产生两份运行日志 第一次 运行脚
  • httprunner中使用JMESPath进行数据提取技巧

    在使用httprunner时 其进行数据提取是使用JMESPath进行的 httprunner示例中的提取未涉及一些稍复杂的提取 所以专门学习了一下JMESPath的使用 做个总结 JMESPath 官方文档路径 https jmespat
  • 解决httprunner3.x上$符号无法当成普通符号用的方法

    前言 由于要测试的api中会涉及 符号的传递 要求其放在参数中当一个普通符号使用 但由于httprunner框架处理逻辑 会将如 coe当成一个变量 从而报错找不到该变量的值 现象 接口某参数为 coeConfig coal 08d99cc