zoukankan      html  css  js  c++  java
  • 20191011-构建我们公司自己的自动化接口测试框架-Util的TestDataHandler模块

    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("转换数据格式失败,错误信息如下: 
    %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
    
    
  • 相关阅读:
    10 Programming Languages You Should Learn Right Now
    【Vegas原创】asp.net页面作为邮件正文发送
    【Vegas原创】产生文件编号(形如:SC000610001)
    ASP操作Excel技术总结
    【Vegas原创】asp/html页面作为邮件正文发送
    【Vegas原创】jmail 发邮件
    ADO.NET 如何读取 Excel (下)
    【Vegas原创】Ajax实现无刷新三联动
    【Vegas原创】Excel权限问题
    成为编程高手的八大奥秘
  • 原文地址:https://www.cnblogs.com/hyj691001/p/11654832.html
Copyright © 2011-2022 走看看