接口测试入门(二)
在用例知道了以后,首先我们考虑怎么样来操作这个Excel表。拿到这个表的内容。
其中内容包括:行数,列数,单元格的内容等等。
主要运用到Python的xlrd,xlutils.copy的库。
在开始我们操作表,需要一个表的地址,拿到表。
1 | file_name = "../dataconfig/case.xls" <br>data = xlrd.open_workbook(file_name)<br>tables = data.sheets()[sheet_id] #sheet_id需要传进去<br>return tables |
这段代码可以放进 __init__里面,重构一下,构造一个拿到表数据的方法。因为后面所有的方法都需要打开文件。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | #获取单元格的行数 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<br><br><br> |
【推荐】FlashTable:表单开发界的极速跑车,让你的开发效率一路狂飙
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一次 .NET 性能优化之旅:将 GC 压力降低 99%
· MySQL索引完全指南:让你的查询速度飞起来
· 一个字符串替换引发的性能血案:正则回溯与救赎之路
· 为什么说方法的参数最好不要超过4个?
· C#.Net 筑基-优雅 LINQ 的查询艺术
· 一次 .NET 性能优化之旅:将 GC 压力降低 99%
· 32岁入行STM32迟吗?
· C#.Net筑基-泛型T & 协变逆变
· 花150元,我用 AI 做出了千万播放的爆款视频!保姆级教程+完整提示词
· 【EF Core】DbContext是如何识别出实体集合的