前言——测试用例管理
一、怎么去管理测试用例?
一般而言我们都会将用例的一些入参都写在Excel表格里进行管理,所以这里就要涉及到python对Excel表格的操作了
二、使用步骤
1.Excel表格的操作无外乎最基本的读取,写入
代码如下:
这是读取的Excel方法
class HandleExcel():
def get_xls(self, xls_name, sheet_name): # xls_name填写用例的Excel名称 sheet_name该Excel的sheet名称
cls = []
# 获取用例文件路径
xlsPath = os.path.join(path, "testFile", 'case', xls_name)
file = open_workbook(xlsPath) # 打开用例Excel
sheet = file.sheet_by_name(sheet_name) # 获得打开Excel的sheet
# 获取这个sheet内容行数
nrows = sheet.nrows
for i in range(nrows): # 根据行数做循环
if sheet.row_values(i)[0] != u'case_name': # 如果这个Excel的这个sheet的第i行的第一列不等于case_name那么我们把这行的数据添加到cls[]
cls.append(sheet.row_values(i))
return cls
这是将内容写入Excel的方法
def write_list_to_xls(self, xls_name, sheet_name, row, col, data, colour):
xlsPath = os.path.join(path, "testFile", 'case', xls_name)
oldWb = xlrd.open_workbook(xlsPath,
formatting_info=True) # 先打开已存在的表,加上“formatting_info=True”不会改变Excel原有的格式
newWb = copy(oldWb) # 复制
newWs = newWb.get_sheet(sheet_name) # 取sheet表
# 设置写入单元格的背景颜色
pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
pattern.pattern_fore_colour = colour # 1 = White, 2 = Red, 3 = Green, 4 = Blue, 5 = Yellow, 6 = Magenta, 7 = Cyan, 16 = Maroon,# 17 = Dark Green, 18 = Dark Blue, 19 = Dark Yellow , almost brown), 20 = Dark Magenta, 21 = Teal, 22 = Light Gray, 23 = Dark Gray
style = xlwt.XFStyle()
style.pattern = pattern
# 设置写入单元格的格式
alignment = xlwt.Alignment()
alignment.horz = 0x02 # 0x01(左端对齐)、0x02(水平方向上居中对齐)、0x03(右端对齐)
alignment.vert = 0x01 # 0x00(上端对齐)、 0x01(垂直方向上居中对齐)、0x02(底端对齐)
style.alignment = alignment
newWs.write(row, col, data, style)
newWb.save(xlsPath) # 保存至result路径
2.完成的代码如下
import os
import xlwt
from xlutils.copy import copy
import xlrd
import getpathInfo # 自己定义的内部类,该类返回项目的绝对路径
from xlrd import open_workbook # 调用读Excel的第三方库xlrd
path = getpathInfo.get_Path()
class HandleExcel():
def get_xls(self, xls_name, sheet_name): # xls_name填写用例的Excel名称 sheet_name该Excel的sheet名称
cls = []
# 获取用例文件路径
xlsPath = os.path.join(path, "testFile", 'case', xls_name)
file = open_workbook(xlsPath) # 打开用例Excel
sheet = file.sheet_by_name(sheet_name) # 获得打开Excel的sheet
# 获取这个sheet内容行数
nrows = sheet.nrows
for i in range(nrows): # 根据行数做循环
if sheet.row_values(i)[0] != u'case_name': # 如果这个Excel的这个sheet的第i行的第一列不等于case_name那么我们把这行的数据添加到cls[]
cls.append(sheet.row_values(i))
return cls
def write_list_to_xls(self, xls_name, sheet_name, row, col, data, colour):
xlsPath = os.path.join(path, "testFile", 'case', xls_name)
oldWb = xlrd.open_workbook(xlsPath,
formatting_info=True) # 先打开已存在的表,加上“formatting_info=True”不会改变Excel原有的格式
newWb = copy(oldWb) # 复制
newWs = newWb.get_sheet(sheet_name) # 取sheet表
# 设置写入单元格的背景颜色
pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
pattern.pattern_fore_colour = colour # 1 = White, 2 = Red, 3 = Green, 4 = Blue, 5 = Yellow, 6 = Magenta, 7 = Cyan, 16 = Maroon,# 17 = Dark Green, 18 = Dark Blue, 19 = Dark Yellow , almost brown), 20 = Dark Magenta, 21 = Teal, 22 = Light Gray, 23 = Dark Gray
style = xlwt.XFStyle()
style.pattern = pattern
# 设置写入单元格的格式
alignment = xlwt.Alignment()
alignment.horz = 0x02 # 0x01(左端对齐)、0x02(水平方向上居中对齐)、0x03(右端对齐)
alignment.vert = 0x01 # 0x00(上端对齐)、 0x01(垂直方向上居中对齐)、0x02(底端对齐)
style.alignment = alignment
newWs.write(row, col, data, style)
newWb.save(xlsPath) # 保存至result路径
def wxl(self,xls_name, sheet_name, row, col, data):
xlsPath = os.path.join(path, "testFile", 'case', xls_name)
oldWb = xlrd.open_workbook(xlsPath,
formatting_info=True) # 先打开已存在的表,加上“formatting_info=True”不会改变Excel原有的格式
newWb = copy(oldWb) # 复制
newWs = newWb.get_sheet(sheet_name) # 取sheet表
style = xlwt.XFStyle()
# 设置写入单元格的格式
alignment = xlwt.Alignment()
alignment.horz = 0x02 # 0x01(左端对齐)、0x02(水平方向上居中对齐)、0x03(右端对齐)
alignment.vert = 0x01 # 0x00(上端对齐)、 0x01(垂直方向上居中对齐)、0x02(底端对齐)
style.alignment = alignment
newWs.write(row, col, data, style)
newWb.save(xlsPath) # 保存至result路径
if __name__ == '__main__':
print(HandleExcel().get_xls('userCase01.xlsx', '登录'))
3.Excel表格填写内容
总结
以上就是用例管理的讲解,如果大家有什么其他的想法可以一起学习,感谢…