Files
apiautotest/case_utils/requests_utils/handle_eval_data.py
floraachy a01db401bf 调整响应数据提取,支持通过yaml用例数据传参提取指定格式的参数
支持3种类型的数据提取:1. 通过jsonpath从response.json()提取数据; 2. 通过正则表达式从response.text提取; 3. 直接从response提取cookies之类;
2023-12-05 14:02:27 +08:00

25 lines
584 B
Python

# -*- coding: utf-8 -*-
# @Time : 2023/12/5 10:19
# @Author : floraachy
# @File : handle_eval_data
# @Software: PyCharm
# @Desc:
# 第三方库导入
from loguru import logger
# 将"[1,2,3]" 或者"{'k':'v'}" -> [1,2,3], {'k':'v'}
def eval_data(data):
"""
执行一个字符串表达式,并返回其表达式的值
"""
try:
if hasattr(eval(data), "__call__"):
return data
else:
return eval(data)
except Exception as e:
logger.trace(f"{data} --> 该数据不能被eval\n报错:{e}")
return data