当前位置: 首页 > ds >正文

写入cache时数据格式错误产生的ERRO导致整个测试框架无法运行

背景

在yaml文件里面提取request放入缓存时,request是form-data,错用jsonpath提取并写入缓存,导致后面的所有运行都异常

原因

起因是我想引用请求体的Uid,提取方式用错了,所以可以看到最后一段current_request_set_cache写入的value值无效

 formData:'{"Uid": "0000test0000","ReId": "222255","Number":"","Title":"IsATile"}'
  current_request_set_cache:type: requestjsonpath: $.data[0].IDname: new_ID

这也就导致了直接异常,erro产生 

执行用例池写入
ImportError while loading conftest 'D:\A_Soft_Test\autotest (2)\test_case\conftest.py'.
..\__init__.py:36: in <module>write_case_process()
..\__init__.py:19: in write_case_processcase_process = CaseData(i).case_process(case_id_switch=True)
..\..\utils\files\get_yaml_data_analysis.py:128: in case_processcase_list.append({key: TestCase(**case_date).dict()})
..\..\venv\lib\site-packages\pydantic\main.py:406: in __init__raise validation_error
E   pydantic.error_wrappers.ValidationError: 1 validation error for TestCase
E   current_request_set_cache
E     value is not a valid list (type=type_error.list)Process finished with exit code 4Empty suite

解决方案

1. 清理缓存,咸亨叙事直接读取cache,所以就算改了代码也没用,

删除__pycache__或临时文件后重新运行  

2. 清理python解释器缓存

find . -name "*.pyc" -delete  # Linux/Mac
del /s *.pyc                  # Windows

这两种方式我试了都无效,所以我的解决方案是:

4. 删掉项目的venv文件,重新创建和安装依赖包

# 进入项目目录,创建venv
python -m venv venv
.\venv\Scripts\activate
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

最后一些收获 

在需依赖的case中 current_request_set_cache:- type: requestjsonpath: $.Uidname: new_Uid# 与在依赖的case中,等价dependence_case: truedependence_case_data:- case_id: s_id_contract  # 编号查出合同IDdependent_data:- dependent_type: responsejsonpath: $.data[0].IDset_cache: new_ID

http://www.xdnf.cn/news/2366.html

相关文章:

  • 大模型时代的语言格局演变:为什么是 JavaScript?
  • PyTorch数据加载与预处理
  • 模板引擎语法-过滤器
  • TeaCache原理及代码
  • 泛型进阶之通配符
  • import tree # pip install dm_tree ModuleNotFoundError: No module named ‘tree‘
  • 如何导出1寸分辨率为300及以上的照片?
  • 常见cmd命令
  • 基于PyTorch的图像识别主要依赖于深度学习模型(尤其是卷积神经网络,CNN)对图像特征进行自动学习和分类
  • tigase源码学习杂记-IO处理的线程模型
  • Python-MCPServerStdio开发
  • python输出
  • 防火墙规则配置错误导致的网络问题排查
  • Tauri v2 配置全解析(完整版)
  • Eigen线性代数求解器(分解类)
  • 内存大冒险
  • ai与望闻问切
  • 2025最新Facefusion3.1.2使用Docker部署,保姆级教程,无需配置环境
  • C语言输入输出完全指南:从基础到文件操作
  • MCP 协议解读:STDIO 高效通信与 JSON-RPC 实战
  • Java大师成长计划之第4天:Java中的泛型
  • Android Gradle插件开发
  • AI Agent: MCP和AI Agent的联系
  • 线程池(二):深入剖析synchronized关键字的底层原理
  • 1位的推理框架bitnet.cpp
  • MySQL之视图
  • DIFY 浅尝 - Dify + Ollama 抓取BBC新闻
  • babel核心知识点
  • ARM架构的微控制器总线矩阵
  • 【Java面试笔记:进阶】21.Java并发类库提供的线程池有哪几种? 分别有什么特点?