Python接口自动化测试——tree


前言——测试用例管理

一、怎么去管理测试用例?

一般而言我们都会将用例的一些入参都写在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表格填写内容

在这里插入图片描述


总结

以上就是用例管理的讲解,如果大家有什么其他的想法可以一起学习,感谢…

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值