一、前言
上一篇博客写了一些使用RIDE来进行接口测试的一个简单demo,在里面我们可以发现传输的数据都是写死在里面,如果需要从外面传输就需要进行参数化。我这里用的是excel来保存需要传输的数据,那么我就需要用rf来对excel进行操作。
二、具体步骤
1、安装robotframework用的excel的库,robotframework-excellibrary:pip install robotframework-ExcelLibrary
2、在RIDE中导入ExcelLibrary库,黑色为导入成功,如图:
3、 我这里就简单写一下我的操作:
Ⅰ、 打开excel文件,这里后面跟的就是你本地xls文件的绝对路径。注意:不要使用xlsx文件,会出错。
Ⅱ、 2到5行都是获取excel文件里面列(column)的数据,后面的参数代表Sheet页的名称和第几列,第几列这个代表的是下标(下标是从0开始),我这里是2,在excel里面就是第3列;
Ⅲ、 第6行代表的是获取当前excel中有数据的行数;
Ⅳ、 9到13行是用FOR循环将数据遍历出来;写法就是:FOR,注意前面是英文的冒号,后面跟的是一个参数代表循环出来的数据;IN RANGE 代表是从后面的范围内进行循环;因为${count_row}也是从下标为0开始遍历,所以我在其前面单独写了一个1,这样就可以跳过第1行的字段的数据;
Ⅴ、 这样就可以遍历出每一行的数据了。
三、ExcelLibrary的方法总结:
今天我把ExcelLibrary里面的所有方法做了一个整理,个人理解可能会有差错,仅供参考:
方法 需要参数 参数形式 方法说明 Add New Sheet [newsheetname] String 增加新的Sheet页 Add To Date [ sheetname | column | row | numdays ] String | int | int | int 增加日期 Check Cell Type [ sheetname | column | row ] String | int | int 检查单元格类型 Create Excel Workbook [newsheetname] String 创建新的Sheet页 Get Column Count [ sheetname ] String 获取列的总列数,下标是从0开始 Get Column Values [ sheetname | column | includeEmptyCells=True ] String | int | default=True 获取每列的数据 Get Number Of Sheets 获取所有Sheet页数量 Get Row Count [ sheetname ] String 获取行的总行数 Get Row Values [ sheetname | row | includeEmptyCells=True ] String | int | default=True 获取每行的数据 Get Sheet Names 获取Sheet页的名称 Get Sheet Values [ sheetname | includeEmptyCells=True ] String | default=True 获取Sheet页的数据 Get Workbook Values [ includeEmptyCells=True ] default=True 获取Sheet页的数据 Modify Cell With [ sheetname | column | row | op | val ] String | int | int | operator | int 修改单元格 Open Excel [ filename | useTempDir=False ] String | default=False 打开excel Open Excel Current Directory [ filename ] String 从当前目录打开excel文件 Put Date To Cell [ sheetname | column | row | value ] String | int | int | int 给单元格写入日期 Put Number To Cell [ sheetname | column | row | value ] String | int | int | int 给单元格写入数字 Put String To Cell [ sheetname | column | row | value ] String | int | int | String 给单元格写入字符串 Read Cell Data By Coordinates [ sheetname | column | row ] String | int | int 读取单元格数据,通过下标(0,0) Read Cell Data By Name [ sheetname | cell_name ] String | String 读取单元格数据,通过坐标(A,2) Save Excel [ filename | useTempDir=False ] String | default=False 保存excel文件 Save Excel Current Directory [ filename ] String 在当前目录保存 Subtract From Date [ sheetname | column | row | numdays ] String | int | int | int 指定单元格中的日期中减去天数
PS:能力有限,自己也还在研究,做个笔记,也希望大家能够一起交流。