接口测试入门(二)

在用例知道了以后,首先我们考虑怎么样来操作这个Excel表。拿到这个表的内容。

其中内容包括:行数,列数,单元格的内容等等。

 

主要运用到Python的xlrd,xlutils.copy的库。

在开始我们操作表,需要一个表的地址,拿到表。

file_name = "../dataconfig/case.xls"
data = xlrd.open_workbook(file_name)
tables = data.sheets()[sheet_id] #sheet_id需要传进去
return tables

这段代码可以放进 __init__里面,重构一下,构造一个拿到表数据的方法。因为后面所有的方法都需要打开文件。

#获取单元格的行数
	def get_lines(self):
		tables = self.data
		return tables.nrows

	#获取某一个单元格的内容
	def get_cell_value(self,row,col):
		return self.data.cell_value(row,col)

	#写入数据
	def write_value(self,row,col,value):
		'''
		写入excel数据
		row,col,value
		'''
		read_data = xlrd.open_workbook(self.file_name)
		write_data = copy(read_data)
		sheet_data = write_data.get_sheet(0)
		sheet_data.write(row,col,value)
		write_data.save(self.file_name)

	#根据对应的caseid 找到对应行的内容
	def get_rows_data(self,case_id):
		row_num = self.get_row_num(case_id)
		rows_data = self.get_row_values(row_num)
		return rows_data

	#根据对应的caseid找到对应的行号
	def get_row_num(self,case_id):
		num = 0
		clols_data = self.get_cols_data()
		for col_data in clols_data:
			if case_id in col_data:
				return num
			num = num+1


	#根据行号,找到该行的内容
	def get_row_values(self,row):
		tables = self.data
		row_data = tables.row_values(row)
		return row_data

	#获取某一列的内容
	def get_cols_data(self,col_id=None):
		if col_id != None:
			cols = self.data.col_values(col_id)
		else:
			cols = self.data.col_values(0)
		return cols


posted @ 2019-03-06 22:05  魔法少女希维尔  阅读(192)  评论(0编辑  收藏  举报