• python-对于一个用例有多个步骤,转换成1条案例的处理方法


    前言

    对于前文写到的以excel数据驱动的框架中,每个用例都是单独的不依赖其他的案例,现在一个用例可能会有多个步骤,按照前面写道的博文中按excel表中逐行取出excel的值,那么一条用例有多个步骤,取出的数据有多行数据,现在需要对这种情况进行处理
    

    实现过程用到的关键点

    
    # setdefault修改字典,key存在,不修改原来键值的内容;key不存在,添加到字典中
    # 字典名[key] =  value   key存在修改原来键值内容,key不存在,添加到字典中
    list1 = {"name":"liujingling","age":25,"sex":"woman"}
    # list1.setdefault("sex","man")
    # print(list)     #sex键的值不变
    
    list1["sex"] = "man"
    print(list1)   #sex键的值变
    
    

    将如下样式的数据格式进行优化

    list1 = 
    [{
    		'测试用例编号': 'case01',
    		'测试用例名称': '测试能否正确执行*******接口',
    		'测试用例步骤': 'step_01',
                     ...................
    
    }, {
    		'测试用例编号': 'case02',
    		'测试用例名称': '测试能否正确新增******',
    		'测试用例步骤': 'step_01',
                     ...................
    }, {
    		'测试用例编号': 'case02',
    		'测试用例名称': '测试能否正确新增*****',
    		'测试用例步骤': 'step_02',
                    ...................
    }]
    
    

    优化步骤1

    实现代码:
    case_dict = {}
    for i in list1:
        case_dict.setdefault(i['测试用例编号'],[]).append(i)
    print(case_dict)        #优化成下面形式
    ----------------------------------------------------------------------------
    {
    	'case01': [{
    		'测试用例编号': 'case01',
    		'测试用例名称': '测试能否正确执行*******接口',
    		'测试用例步骤': 'step_01',
                     ...................
    	}],
    	'case02': [{
    		'测试用例编号': 'case02',
    		'测试用例名称': '测试能否正确新增******',
    		'测试用例步骤': 'step_01',
                     ...................
    	}, {
    		'测试用例编号': 'case02',
    		'测试用例名称': '测试能否正确新增*****',
    		'测试用例步骤': 'step_02',
                    ...................
    	}]
    }
    
    
    

    优化步骤2:

    
    实现代码:
    list2 = []
    for k,v in case_dict.items():
        dict2 = {}
        dict2['test_case']= k
        dict2['test_info']= v
        list2.append(dict2)
    print(list2)              #优化成如下形式
    
    --------------------------------------------------------------------------------
    [{
    	'test_info': [{
    		'测试用例编号': 'case01',
    		'测试用例名称': '测试能否正确执行获取*****接口',
    		'测试用例步骤': 'step_01',
                    ...................
    	}],
    	'test_case': 'case01'
    }, {
    	'test_info': [{
    		'测试用例编号': 'case02',
    		'测试用例名称': '测试能否正确新增*****',
    		'测试用例步骤': 'step_01',
                    ...................
    	}, {
    		'测试用例编号': 'case02',
    		'测试用例名称': '测试能否正确新增*****',
    		'测试用例步骤': 'step_02',
                    ...................
    	}],
    	'test_case': 'case02'
    }]
    
    
    
  • 相关阅读:
    标准部件工具箱概述
    从数据库和文件夹中读取图片并且resize
    控件的Lookup
    分隔字符串并以List返回(strSplit函数)
    窗体中的选中数据传递给报表
    对筛选之后的grid进行求和统计
    动态添加图片控件例子
    利用CSV文件导入数据的例子
    调用打开文件的对话框
    ax设置数据源的操作
  • 原文地址:https://www.cnblogs.com/ritaliu/p/13434380.html
Copyright © 2020-2023  润新知