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

写入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

相关文章:

  • PID程序实现
  • php一些命名规范 和 css命名规范
  • AIGC在自动化测试领域的创新应用:智能生成测试用例与缺陷预测
  • SpringCloud原理和机制
  • 产销协同的作用是什么?又如何对各部门发挥作用?
  • A. Ideal Generator
  • 【数据融合】基于拓展卡尔曼滤波实现雷达与红外的异步融合附matlab代码
  • 部署大模型需要多少GPU显存?以DeepSeek R1部署为例
  • 直接映射例题及解析
  • [笔记] MCPO搭建教程
  • 【Kafka】Windows环境下生产与消费流程详解(附流程图)
  • VO包装类和实体类分别是什么?区别是什么?
  • Jmeter如何取JDBC request响应参数作为下一个接口的值?
  • ORACLE数据库备份入门:第四部分:2-备份场景举例
  • SpringCloud组件——OpenFeign
  • MySQL 中 SQL 语句的详细执行过程
  • Debian安装避坑
  • 基于Matlab的MDF文件导入与处理研究
  • 59. Java 类和对象 - 方法的返回值
  • JSAPI2.4——正则表达式
  • 脱发后怎么把头发养回来?脱发自救指南来了
  • 《九龙城寨之围城》斩获香港金像奖九项大奖,包括最佳影片
  • 广州一季度GDP为7532.51亿元,同比增长3%
  • 体坛联播|巴萨“三杀”皇马夺国王杯,陈妤颉破亚洲少年纪录
  • 美联储官员:货币政策不会立即改变,金融市场波动或致美国经济增长承压
  • 广州多条BRT相关线路将停运,全市BRT客运量较高峰时大幅下降