• 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'
    }]
    
    
    
  • 相关阅读:
    less-循环写法
    利用IntersectionObserver完成懒加载、加载更多
    通过is切换组件
    css3-背景渐变
    css-六边形、平行四边形、扇形实现
    vue-利用递归组件完成一个树形组件
    event loop 事件循环
    vue-组件间通信
    video 背景图平铺
    JS 事件委托
  • 原文地址:https://www.cnblogs.com/ritaliu/p/13434380.html
Copyright © 2020-2023  润新知