TestDataHandler模块主要是做测试数据的处理,包括转换数据格式和变量参数处理
转换数据格式函数:
data是数据,data以$()的方式识别变量,如果请求的数据有变量,则将变量用global_vars中对应的变量值替换
global_vars是在测试执行的时候存储实时变量的参数,global_vars是一个字典
def data_handler(data,global_vars):
"""前置数据处理"""
# 使用while循环处理请求数据中的参数
while re.search(r"\$\{\w+\}", data):
try:
var_name = re.search(r"\$\{(\w+)\}",data).group(1)
var_value = global_vars[var_name]
if isinstance(var_value,list):
var_value = var_value[0]
# 将data中的变量替换为值
data = re.sub(r"\$\{\w+\}",str(var_value),data,1)
except KeyError as e:
print(data)
error("无对应的参数"+e)
except:
error(traceback.format_exc())
return data
pre_data_hander方法,主要用于数据处理,因为excel读取的数据都是字符串,需要转换为对应的格式,比如字典,列表,元组等格式,因为授权信息为元组格式,body是json格式,在转换格式之前先进行变量处理,因此会调用data_handler函数处理
def pre_data_hander(test_case,global_vars):
"""前置数据处理,转换数据格式等"""
test_case_serials, method, baseurl, header, auth, body, assert_content, regular_rex,assert_word,test_case_name= test_case
try:
if header:
header = eval(header)
if auth:
auth = eval(auth)
if body:
# 处理body中的变量
body = data_handler(body,global_vars)
# 转换body格式
body = eval(body)
except:
error("转换数据格式失败,错误信息如下: \n%s"%traceback.format_exc())
test_case = test_case_serials, method, baseurl, header, auth, body, assert_content, regular_rex,assert_word,test_case_name
return test_case
												

最新文章

  1. Html5绘制时钟
  2. SVN使用教程
  3. PHP那些非常有用却鲜有人知的函数
  4. React Native02-开始运行 Android篇
  5. 四则运算2+psp0级表格
  6. 一个不错的图片滑动展示插件 anythingslider
  7. MySQL全连接(Full Join)实现,union和union all用法
  8. Visio 下载,及密钥
  9. MvvmLight Messenger(信使)
  10. EntityFramework:状态变化与方法的关系
  11. Python filter用法
  12. 用shape画内圆外方,形成一个圆形头像
  13. LeetCode之旅(13)-Valid Anagram
  14. SpringBoot几种定时任务的实现方式
  15. docker-compose部署mongodb+redis遇到的问题
  16. python远程执行dos命令
  17. JS知识点随笔
  18. VS Code 运行 TypeScript 操作指南
  19. 金融量化分析【day113】:羊驼策略
  20. 安装elasticsearch-7.0.0及插件

热门文章

  1. PHP 之Html标签转义与反转义
  2. 关于SQLServer 中行列互转的实例说明
  3. [ambari环境搭建](未完待续)
  4. Java实现通过IP获取域名,通过域名获取IP
  5. VM 15 永久激活密钥
  6. java spark list 转为 RDD 转为 dataset 写入表中
  7. 8.3 Customizing Git - Git Hooks
  8. ubuntu下载自带的java-1.8
  9. PorterDuffXfermode之PorterDuff.Mode.MULTIPLY
  10. Qt编写自定义控件59-直方动态图