上一篇接口测试的博客中我们提到了接口测试之操作excel的方法,但是上一篇文章中得到单元格的内容需要通过单元格的索引来得到单元格的内容,事实上一个excel表格有很多内容,我们很难精确的记住每个单元格的索引,因此就需要一种更为简洁的方法来操作excel表格,今天我们就来介绍下这个方法,首先,我们定义一个python类来记录excel表格的每一列属性,假如是这样一个excel表格:
首先定义一个python文件,dataconfig.py:
#coding:utf-8
class global_var:
#case_id
Id = '0'
request_name = '1'
url = '2'
run = '3'
request_way = '4'
header = '5'
case_depend = '6'
data_depend = '7'
field_depend = '8'
data = '9'
expect = '10'
result = '11'
#获取caseid
def get_id():
return global_var.Id
#获取url
def get_url():
return global_var.url
def get_run():
return global_var.run
def get_run_way():
return global_var.request_way
def get_header():
return global_var.header
def get_case_depend():
return global_var.case_depend
def get_data_depend():
return global_var.data_depend
def get_field_depend():
return global_var.field_depend
def get_data():
return global_var.data
def get_expect():
return global_var.expect
def get_result():
return global_var.result
def get_header_value():
return global_var.header
由代码中可以看出,通过定义数据库列的属性,可以很直观的看出每一列所代表的内容。
数据配置文件定义好了,怎么获取表格内容呢:这里我们再定义一个获取数据内容的python文件:
#coding:utf-8
from utils.operation_excel import operateExcel
import dataconfig
from utils.operateJson import OperateJson
#获取数据
class GetData:
def __init__(self):
self.Operation_excel=operateExcel()
#获取excel的行数
def get_case_line(self):
return self.Operation_excel.getLines()
#获取是否执行
def get_is_run(self,row):
flag=None
col=int(dataconfig.get_run())
run_module= self.Operation_excel.get_cell_value(row,col)
if run_module=='yes':
flag=True
else:
flag=False
return flag
#获取header值
def is_header(self,row):
col=int(dataconfig.get_header())
header=self.Operation_excel.get_cell_value(row.col)
if header!='':
return header
else:
return None
#获取请求方式
def get_request_method(self,row):
col=int(dataconfig.get_run_way())
method=self.Operation_excel.get_cell_value(row,col)
return method
#获取url
def get_request_url(self,row):
col=int(dataconfig.get_url())
url=self.Operation_excel.get_cell_value(row,col)
return url
#获取请求数据
def get_request_data(self,row):
col=int(dataconfig.get_data())
data=self.Operation_excel.get_cell_value(row,col)
if data=='':
return None
else:
return data
#获取预期结果
def get_expect_data(self,row):
col=int(dataconfig.get_expect())
expect_data=self.Operation_excel.get_cell_value(row,col)
if expect_data=='':
return None
else:
return expect_data
#获取实际结果
def get_result_data():
col=int(dataconfig.get_result())
result_data=self.Operation_excel(row,col)
if result_data=='':
return None
else:
return result_data
def get_case_depend_data():
col=int(dataconfig.get_case_depend())
case_depend_data=Operation_excel(row,col)
if case_depend_data=='':
return None
else:
return case_depend_data
这里,我们用到了上一篇文章中定义的operation_excel .py文件,通过
这样的定义,我们便能做到通过行数便能访问到表格的内容了。