1、定义config 文件
里面定义全局用的参数, 比如下面用到的 excel 的地址信息。
config定义如下
# !/usr/bin/python3
# -*- coding: utf-8 -*-
import os
# 路径配置;项目的路径
BASE_PATH = os.path.dirname(
os.path.dirname(os.path.abspath(__file__)))
# 项目对应的文件夹路径,拼接存放测试用例的路径
CASE_PATH = os.path.join(BASE_PATH, 'Testcase')#定义文件夹路径,遍历文件夹下的用例信息。
Log_PATH= os.path.join(BASE_PATH, 'log')#定义log 的生成路径
#定义EXCEl文件路径
path = r'D:\Workspace\BItestData\Testcase\api.xls'
2、定义excel 的解析方式,注释部分的代码是单独获取某行某列的参数。
导入config 配置的path 路径,获取到excel路径及文件名
根据自己的excel 各列的要求定义相关列的获取方法。
# !/usr/bin/python3 # -*- coding: utf-8 -*- import os import xlrd import Util.config as cf class OpeExcel(object): def __init__(self, path): self.path = path # def __init__(self,file_name=None,sheet_id=None): # if file_name: # self.file_name = file_name # self.sheet_id = sheet_id # else: # self.file_name = r'D:\Workspace\BItestData\Testcase\api.xls' # self.sheet_id = 0 # self.data = self.get_data() # #获取sheets的内容 # def get_data(self): # data = xlrd.open_workbook(self.file_name) # tables = data.sheets()[self.sheet_id] # return tables # #获取单元格行数 # def get_lines(self): # tables = self.data # return tables.nrows # #获取单元格数据 获取 # def get_value(self,row,col): # return self.data.cell_value(row,col) @property def getSheet(self): # 获取索引 获取excel 当前sheet xl = xlrd.open_workbook(self.path) sheet = xl.sheet_by_index(0) return sheet @property def getRows(self): # 获取行数 row = self.getSheet.nrows return row @property def getCol(self): # 获取列数 col = self.getSheet.ncols return col # 以下是分别获取每一列的数值 #获取用例ID信息 @property def getId(self): TestId = [] for i in range(1, self.getRows): TestId.append(self.getSheet.cell_value(i, 0)) return TestId # 获取用例描述信息 @property def getDes(self): TestDes = [] for i in range(1, self.getRows): TestDes.append(self.getSheet.cell_value(i, 1)) return TestDes #获取URL地址信息 @property def getUrl(self): TestUrl = [] for i in range(1, self.getRows): TestUrl.append(self.getSheet.cell_value(i, 2)) return TestUrl # 获取用例请求参数信息 @property def getData(self): TestData = [] for i in range(1, self.getRows): TestData.append(self.getSheet.cell_value(i, 4)) return TestData # 获取请求方式信息 @property def getMethod(self): TestMethod = [] for i in range(1, self.getRows): TestMethod.append(self.getSheet.cell_value(i, 3)) return TestMethod @property def getCode(self): TestCode = [] for i in range(1, self.getRows): TestCode.append(self.getSheet.cell_value(i, 5)) return TestCode if __name__ == '__main__': opers = OpeExcel(cf.path) print(opers.getId) //用例ID print(opers.getDes)//用例的描述 print(opers.getUrl)//请求地址 print(opers.getMethod)//请求方式 print(opers.getData)//请求的data数据 3、输出信息
4、 打印部分的信息封装成各请求list 信息 带入request 请求方式。