day15_0825_Excel操作

Excel表格case编写

"""
课程回顾:
日志处理:
from loguru import logger

logger.add(sink= '项目日志.log', encoding='utf-8',level='INFO',rotation='10 B')-超出后重新创建.log文件;文件隔离
logger.add(sink= '项目日志.log', encoding='utf-8',level='INFO',rotation='1 week')-1个星期创建一次;文件隔离

"""
# d2_logging
# 标准库 :自带unittest
# 日志设置的等级:是waring以上
import logging
# 设置好等级
logging.basicConfig(level="INFO")
logging.info("这是标准日志")
logging.warning("这是警告日志")
logging.error("这是错误日志")

# 完整的logging流程
"""
1、日志收集器logger
2、日志收集器级别level
3、日志处理器准备handler
4、日志处理器级别设置
5、设置日志格式format
6、添加日志处理器
"""
# 日志收集器, 笔
logger = logging.getLogger("py53")
logger.setLevel("INFO") # WARNING
# 日志处理器:显示日记的,本子
handler = logging.StreamHandler()
handler.setLevel("INFO") # WARNING # DEBUG
logger.addHandler(handler)
# 文件处理器:通过文件保存日志,另一个本子
file_handler = logging.FileHandler(filename= '项目日志.log', encoding='utf-8')
file_handler.setLevel("DEBUG")
logger.addHandler(file_handler)
# 设置格式
fmt = logging.Formatter("%(asctime)s" | "%(levelname)s" |"%(filename)s:%(lineno)d"- "%(message)s" )
handler.setFormatter(fmt)
file_handler.setFormatter(fmt)



logger.info("这是标准日志")
logger.warning("这是警告日志")
logger.error("这是错误日志")

# d3_logging封装
import logging
def get_logger(name="root",level="INFO", filename=None,
				form="%(asctime)s" | "%(levelname)s" |"%(filename)s:%(lineno)d"- "%(message)s"):
	# 日志收集器, 笔
	logger = logging.getLogger(root)
	logger.setLevel(level) # WARNING
	# 日志处理器:显示日记的,本子
	handler = logging.StreamHandler()
	handler.setLevel(level) # WARNING # DEBUG
	logger.addHandler(handler)
	fmt = logging.Formatter(from )
	handler.setFormatter(fmt)
	
	if filename != None:
		# 文件处理器:通过文件保存日志,另一个本子
		file_handler = logging.FileHandler(filename = filename, encoding='utf-8')
		file_handler.setLevel(level)
		logger.addHandler(file_handler)
		file_handler.setFormatter(fmt)
	# 设置格式
	fmt = logging.Formatter(from )
	handler.setFormatter(fmt)
	
	return logger

# 使用方式:直接导入
from py-53.day15_excel操作 d3_logging封装 import get_logger

logger = get_logger()
print(logger)
	

excel操作:
# 用例存储
- Excel /CSV
- coding
- xmind
- 飞书文档

# 手工
"""
手工测试用例 ----> 自动化测试

# 代码操作 Excel
- openpyxl
- xlrd
- pandas

# 创建一条用例:case.xlsx
格式:sheet 表格改名字:比如登录login
id     title   data expectd
1		失败   	a    通过
2		失败   	b    通过
3		成功   	c   不通过

# 安装openpyxl
pip install openpyxl
"""
# d4_excel
import openpyxl
from openpyxl.worksheet.worksheet import Worksheet
# 打开文件
workbook = openpyxl.load_workbook("case.xlsx")
# print(workbook)
# 选择表单,表格 sheet1  类型声明:
sheet:Worksheet = workbook.['login']
print(sheet)

# 获取某个单元格
cell = sheet.cell(row=2, column=3)
print(cell)
# 获取所有的用例数据
values = sheet.values()
rows = sheet.values
for row in rows:
	print(row) # 元组
print(list(rows[1:3])# 切片

# d5_excel封装.py
import openpyxl
from openpyxl.worksheet.worksheet import Worksheet

def read_excel(file, sheet_name="sheet1"):
	"""读取excel"""
	# 打开文件
	workbook = openpyxl.load_workbook(file)
	# print(workbook)
	# 选择表单,表格 sheet1  类型声明:
	sheet:Worksheet = workbook.[sheet_name]
	# print(sheet)

	# 获取某个单元格
	cell = sheet.cell(row=2, column=3)
	# print(cell)
	# 获取所有的用例数据
	values = sheet.values()
	rows = sheet.values
	for row in rows:
	print(row) # 元组
	rows = list(rows[1:]# 切片
	print(rows)
	return rows
print(read_excel(case.xlsx))

def read_excel_dict(file, sheet_name="sheet1"):
	"""读取excel"""
	# 打开文件
	workbook = openpyxl.load_workbook(file)
	# print(workbook)
	# 选择表单,表格 sheet1  类型声明:
	sheet:Worksheet = workbook.[sheet_name]
	# print(sheet)
	data = sheet.values()
	title = data[0]
	rows = data[1:]
	print(title)
	# 列表推导式
	data = [daict(zip(title,row)) for row in rows]
	data = []
	# for row in rows:
		# row_dict = dict(zip(title,row)
		# data.append(row_dict)
	
	return data
print(read_excel_dict('case.xlsx'))










  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值