"""
参数化
"""
import xlrd,xlwt,json
from api实现.读取参数化接口说明 import TestApi
class ReadFileData:
def __init__(self):
self.tp = TestApi()
def readFileData(self):
filename="C:\Users\Administrator\Desktop\接口测试用例.xls"
#读取文件
workbook = xlrd.open_workbook(filename)
#方法一;获取文件中所有的表
# sheets = workbook.sheet_names() #["Sheet1", "Sheet2", "Sheet3"]
# worksheet = workbook.sheet_names()[0]
# print(worksheet) #得到表名称
#方法二:通过索引获取
#sheets = workbook.sheet_by_index(0)#得到一个内存地址
# 方法三:通过表名称获取
sheets = workbook.sheet_by_name("接口用例")#得到一个内存地址
"""
sheets的名称,行数,列数
sheets.name 表名称
sheets.nrows 行数
sheets.ncols 列数
"""
nums = sheets.nrows #得到行数
#获取整行整列的值-->得到的是个列表
#rows = sheets.row_values(0) #获取第一行的标题
#cols = sheets.col_values(1) #获取第二列的数据
# 获取单元格内容
# print(sheets.cell(1, 0)) #1行0列
# print(sheets.cell_value(2, 0))#2行0列
# print(sheets.row(1)[0])#1行0列
# # 获取单元格内容的数据类型
# print(sheets.cell(1, 0).ctype)
for i in range(1,nums):
rows = sheets.row_values(i)
#调用接口函数
print("测试用例编号:",rows[0],"测试点:",rows[1])
url=rows[3]+rows[4]
#print(url)
method=rows[2]
data=eval(rows[5]) #eval可以将普通字符串转为字典
asserts=rows[-2]
headers=""
self.tp.test_http(url,data,method,headers,asserts)
rf = ReadFileData()
print(rf.readFileData())