zoukankan      html  css  js  c++  java
  • 接口测试入门(二)

    在用例知道了以后,首先我们考虑怎么样来操作这个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


  • 相关阅读:
    牛客-Python-字符流中第一个不重复的字符
    牛客网-python-表示数值的字符串
    牛客网-(标星)正则表达式的匹配
    牛客网-构建乘积数组
    牛客网-和为S的两个数字
    new code-和为S的连续正数序列
    newcode-平衡二叉树
    Reinforcement Learning学习笔记|Deep Q-learning算法
    Reinforcement Learning学习笔记|Q-learning算法
    C++|重拾|笔记20190307
  • 原文地址:https://www.cnblogs.com/shrimpPython/p/10486463.html
Copyright © 2011-2022 走看看