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 ...
随机推荐
- -mtime
大家在使用find命令中的mtime参数时候,会看到官方的解释如下: -mtime n File's data was last modified n*24 hours ...
- Windows下将Python源代码.py文件封装成exe可执行文件方法
安装pyinstaller cmd中使用pip安装 pip install pyinstaller 同时会自动安装pywin32(pip真慢50M这里就走20KB),可以进行切换为国内源进行提速. 就 ...
- 微信请求参数生成SHA1签名
package com.dhht.wechat.util; import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObjec ...
- tomcat启动极慢在linux生产环境
在window环境下不会出现启动极慢的问题. Tomcat启动极慢在生产环境,跟Weblogic一样 此外由于Weblogic创建域的时候使用的JDK是自带的jrockit,所以要解决WebL ...
- JavaScript详解(三)
JavaScript的数组 JavaScript中的数组具有相当的灵活性,除了能存储数据外,还提供了一系列的属性和方法.因为JavaScript本身是一个弱类型语言,故其数组不会限制存放数据的类型. ...
- python图像处理:一福变五福
快过年了,各种互联网产品都出来撒红包.某宝一年一度的“集五福活动”更是成为每年的必备活动之一. 虽然到最后每人大概也就分个两块钱,但作为一个全民话题,大多数人还是愿意凑凑热闹. 毕竟对于如今生活在大城 ...
- PyTorch基础——词向量(Word Vector)技术
一.介绍 内容 将接触现代 NLP 技术的基础:词向量技术. 第一个是构建一个简单的 N-Gram 语言模型,它可以根据 N 个历史词汇预测下一个单词,从而得到每一个单词的向量表示. 第二个将接触到现 ...
- java基本类型和包装类型
int 是基本类型,直接存数值 Integer是类,产生对象时用一个引用指向这个对象 Java把内存划分成两种:一种是栈内存,另一种是堆内存 在函数中定义的一些基本类型的变量和对象的引用变 ...
- 搭建公司的React开发环境
记录公司环境搭建 1.安装VSCODE, 安装网上的推荐各种控件2.安装node, yarn, 会自动添加path3.先初始化npm 全部按回车默认. npm init. 初始化yarn: yarn ...
- 大厂面试题:今天复试百度PHP工程师
今天下午来到北京百度科技园进行复试PHP工程师岗位. 面试官问了很多问题,我大概整理回忆下: 1.Redis秒杀实现? redis队列解决抢购高并发的原理: 在程序跟数据库之前呢我们可以利用redis ...