MOOC(7)- case依赖、读取json配置文件进行多个接口请求-openpyxl读取excel(14)
从excel中读取数据
# -*- coding: utf-8 -*- # @Time : 2020/2/12 17:23 # @File : do_excel_openpyxl_14.py # @Author: Hero Liu from openpyxl import load_workbook from day_20200208_mooc.tools.do_json_13 import DoJson import json class DoExcel: def get_data(self, file, sheet): wb = load_workbook(file) sheet = wb[sheet] test_data = [] for i in range(2, sheet.max_row+1): row_data = {} # 获取第i行第一列、第2列、第3列...的数据,即是获取第i行数据,并存到字典中 row_data["case_id"] = sheet.cell(i, 1).value row_data["module_title"] = sheet.cell(i, 2).value row_data["url"] = sheet.cell(i, 3).value row_data["method"] = sheet.cell(i, 5).value row_data["header"] = sheet.cell(i, 6).value if row_data["header"] == "no": row_data["header"] = None row_data["case_depend"] = sheet.cell(i, 7).value row_data["case_depend_data"] = sheet.cell(i, 8).value row_data["depend_data_belong_new_key"] = sheet.cell(i, 9).value # 把关键字传入DoJson,拿到真正的请求数据 row_data["data"] = DoJson("../config/user.json").get_data(sheet.cell(i, 10).value) row_data["expected"] = sheet.cell(i, 11).value # 把每一行的数据加到整个测试数据的列表中去 test_data.append(row_data) return test_data def case_data(self, file, sheet): # 选择性地获取测试用例 case_data = [] for row_data in self.get_data(file, sheet): case_row = {} case_row["case_id"] = row_data["case_id"] case_row["module_title"] = row_data["module_title"] case_row["url"] = row_data["url"] case_row["method"] = row_data["method"] # if row_data["header"]: # case_row["header"] = row_data["header"] # else: # row_data["header"] = None case_row["data"] = row_data["data"] case_row["expected"] = row_data["expected"] case_data.append(case_row) return case_data def write_back(self, file, sheet, i, j, value): # i代表行,j代表列 # 每执行一个用例,都要写回一个结果,所以i代替用例的行数 # 结果要写回到哪一列自己是清楚的,所以j可以传入固定值 wb = load_workbook(file) sheet = wb[sheet] sheet.cell(i, j).value = value # 保存工作簿 wb.save(file) if __name__ == "__main__": # test_data = DoExcel().get_data("../data/test_data.xlsx", "case") # print(test_data) case_data = DoExcel().get_data("../data/test_data.xlsx", "case") print(json.dumps(case_data, indent=2, sort_keys=False, ensure_ascii=False)) # print(type(case_data)) # case1 = case_data[0] # case1 = eval(case_data) # print(case1)
测试数据如图:
MOOC(7)- case依赖、读取json配置文件进行多个接口请求-openpyxl读取excel(14)的更多相关文章
- MOOC(7)- case依赖、读取json配置文件进行多个接口请求-xlrd操作excel(11)
xlrd操作excel # -*- coding: utf-8 -*- # @Time : 2020/2/12 9:14 # @File : do_excel_xlrd_11.py # @Author ...
- MOOC(7)- case依赖、读取json配置文件进行多个接口请求-解决用例间依赖问题(17)
最最重要,处理case依赖.字段依赖 # -*- coding: utf-8 -*- # @Time : 2020/2/13 21:14 # @File : data_depend_17.py # @ ...
- MOOC(7)- case依赖、读取json配置文件进行多个接口请求-读取json封装成类(13)
把读取json数据的函数封装成类 # -*- coding: utf-8 -*- # @Time : 2020/2/12 16:44 # @File : do_json_13.py # @Author ...
- MOOC(7)- case依赖、读取json配置文件进行多个接口请求-执行测试用例(16)
执行测试用例 # -*- coding: utf-8 -*- # @Time : 2020/2/12 22:56 # @File : run_test_16.py # @Author: Hero Li ...
- MOOC(7)- case依赖、读取json配置文件进行多个接口请求-完整的测试类,含依赖测试(15)
ddt.依赖测试.断言.测试数据写回 # -*- coding: utf-8 -*- # @Time : 2020/2/12 23:07 # @File : test_class_15.py # @A ...
- MOOC(7)- case依赖、读取json配置文件进行多个接口请求-发送测试报告邮件(19)
给多个人发邮件时,可以传入邮箱列表 把多个收件人用分号隔开 # -*- coding: utf-8 -*-# @Time : 2020/2/15 17:02# @File : send_mail_19 ...
- MOOC(7)- case依赖、读取json配置文件进行多个接口请求-模拟接口响应数据(18)
这里是把传入的请求数据作为响应值返回 # -*- coding: utf-8 -*- # @Time : 2020/2/15 9:47 # @File : do_mock_18.py # @Autho ...
- MOOC(7)- case依赖、读取json配置文件进行多个接口请求-测试类中调用封装的mock(10)
封装mock后,在单元测试中调用 # -*- coding: utf-8 -*- # @Time : 2020/2/11 8:35 # @File : test_class_10.py.py # @A ...
- MOOC(7)- case依赖、读取json配置文件进行多个接口请求-封装mock(9)
封装mock # -*- coding: utf-8 -*- # @Time : 2020/2/12 8:51 # @File : mock_demo_9.py # @Author: Hero Liu ...
随机推荐
- EditText制作简单的登录界面
EditText与之前的TextView和Button的用法大体相同,用法案例如下: activity_edit_text.xml: <?xml version="1.0" ...
- elasticsearch-填坑
1.分页参数 ,start=(page-1)*size 2.高亮字段结果的处理方式 3.float类型参数从map中取出用double接收 4.结果封装需手动封装 package com.search ...
- JAVA中常用的异常处理情况
1.java.lang.nullpointerexception程序遇上空指针 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者 ...
- python 删除文件
import os 删除文件: os.remove() 删除空目录: os.rmdir() 递归删除空目录: os.removedirs() 递归删除目录和文件(类似DOS命令DeleteTree): ...
- 详解Cisco ACS AAA认证-1(转)
转自:http://www.360doc.com/content/12/0611/17/8797027_217495523.shtml作者:luobo2012 近来,有些同学会问到关于AAA认证的问题 ...
- python3.6内置模块——random详解
python内置模块random是用来生成随机数的,在许多场合都能应用到,算是比较常见的一种模块吧,下面详细介绍其具体用法. 基本用法 随机生成浮点数:有两种,一种没有参数,默认是0~1,另一种可以指 ...
- 数学之美_正态分布(Python代码)
1 在概率统计中,我们针对某个事件当中各个样本发生的概率的频率进行统计,用一个函数的形式写出的这个概率的频率函数就叫做分布函数. 2 分布函数顾名思义,就是某个连续事件发生频率的汇总表示.再直白一点儿 ...
- nm命令介绍
一.参考文章 网址1:https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/nm.html 参考2: man nm 参考3:<linux ...
- CPA-计划
平时周一到周五上班晚上8点到12点,周末6-8个小时,然后没有节假日,一次差不多可以3.4科 审计 看150页 3小时,看完,做题 2天时间,5门课程,12小时考试,没想到能完整地挺过来.感觉税法战 ...
- c语言中getchar的用法
/************************************************************************* > File Name: getchar2. ...