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'
}]
python-对于一个用例有多个步骤,转换成1条案例的处理方法的更多相关文章
- 一个java的DES加解密类转换成C#
原文:一个java的DES加解密类转换成C# 一个java的des加密解密代码如下: //package com.visionsky.util; import java.security.*; //i ...
- 一个java的DES加密解密类转换成C#
一个java的des加密解密代码如下: //package com.visionsky.util; import java.security.*; //import java.util.regex.P ...
- 分享一个小工具:Excel表高速转换成JSON字符串
在游戏项目中一般都须要由策划制作大量的游戏内容,当中非常大一部分是使用Excel表来制作的.于是程序就须要把Excel文件转换成程序方便读取的格式. 之前项目使用的Excel表导入工具都是通过Offi ...
- 用python把一个txt文件中所有逗号,替换成空格?
string = "word 2 3 4 5 6 7" string = ",".join(string.split()) import numpy as np ...
- MYSQL: sql中某一个字段内容为用逗号分割的字符串转换成多条数据
场景: 表名:testsuer id name 1 小红,小李,李红,小法 要结果值为: 1 小红 1 小李 1 李红 1 小法 MYSQL函数解释 ...
- 知道内存中一个图片的指针IntPtr大小,转换成图片显示
//nSize 为总长度//pImageData 为总数据//nImageSize //一个图片的长度 byte[] _bytes = new byte[nImageSize];// //IntPtr ...
- python 实用技巧:几十行代码将照片转换成素描图、随后打包成可执行文件(源码分享)
效果展示 原始效果图 素描效果图 相关依赖包 # 超美观的打印库 from pprint import pprint # 图像处理库 from PIL import Image # 科学计算库 imp ...
- Python使用np.c_和np.r_实现数组转换成矩阵
# -*- coding: utf-8 -*-"""Created on Sat Jun 30 14:49:22 2018 @author: zhen"&quo ...
- 输入一个十进制数N,将它转换成R进制数输出(运用递归实现)
#include<stdio.h> int cnt=0; //用来记录每个进制存放的位置 char num[20]; //用来存 ...
随机推荐
- Git使用:版本回退
在Git中,我们可以用 git log命令查看我们修改的历史记录 C:\Users\Administrator\Documents\GitHub\learngit [master]> git l ...
- Javascript中定时器的使用方法
Javascript中定时器的使用方法 1.间隔定时器(每隔一段时间执行一次代码) 格式:setInterval(函数,时间) //时间单位是毫秒,每隔设置的时间执行函数里的内容一遍(一直执行) // ...
- Solon Web 开发,八、校验、及定制与扩展
Solon Web 开发 一.开始 二.开发知识准备 三.打包与运行 四.请求上下文 五.数据访问.事务与缓存应用 六.过滤器.处理.拦截器 七.视图模板与Mvc注解 八.校验.及定制与扩展 九.跨域 ...
- jsp标签 formatNumber、formatDate、parseNumber、parseDate的使用
引用本文的有关标签需要引用对应的标签库 <%--引入格式化动作标签库--%> <%@taglib prefix="fmt" uri="http://ja ...
- 猫与ThinkPad
高中时候看见过家里橘猫谁在舅舅的ThinkPad笔记本了,可惜没拍下来,我也不喜欢那只猫,更喜欢幼时的白猫和黑白猫. ThinkPad宣传图片诚不欺我. 怀念青春与当年陪我游戏的IBM的ThinkPa ...
- Markdown最新使用说明
Markdown基本语法说明 markdown 和 typora关系:typora是一款实时预览markdown的文本编辑器 本文推荐使用的Markdown编辑器为:Typora (用了多款编辑器,觉 ...
- VUE3 之 Non-Props 属性
1. 概述 墨菲定律告诉我们:人总是容易犯错误的,无论科技发展到什么程度,无论是什么身份的人,错误总是会在不经意间发生.因此我们最好在做重要的事情时,尽量去预估所有可能发生的错误,并思考错误发生后的补 ...
- MacBook USB 连 iPhone 响个不停,充电频繁的连上/断开
电脑是 MacBook Pro (Retina, 15-inch, Mid 2015) 连 iPhone 响个不停,充电频繁的连上 /断开,数据线是原装的,想连接爱思助手连接不上. 网上方法 1 开启 ...
- 第03讲:Flink 的编程模型与其他框架比较
Flink系列文章 第01讲:Flink 的应用场景和架构模型 第02讲:Flink 入门程序 WordCount 和 SQL 实现 第03讲:Flink 的编程模型与其他框架比较 本课时我们主要介绍 ...
- STC89C52引脚图(彩色)
不知道大家有没有见过像这样的arduino引脚功能图: 还有ESP系列: 还有stm32的: 给人的第一感觉就是漂亮,清晰明了,相比之下STC51的就...... 楼主搜罗了一下,目前网络上还没有 ...