robotframework 学习(3) :Excel文件的操作

一、前言

        上一篇博客写了一些使用RIDE来进行接口测试的一个简单demo,在里面我们可以发现传输的数据都是写死在里面,如果需要从外面传输就需要进行参数化。我这里用的是excel来保存需要传输的数据,那么我就需要用rf来对excel进行操作。

二、具体步骤

        1、安装robotframework用的excel的库,robotframework-excellibrary:pip install robotframework-ExcelLibrary

        2、在RIDE中导入ExcelLibrary库,黑色为导入成功,如图:

robotframework 学习(3) :Excel文件的操作

        3、 我这里就简单写一下我的操作:

robotframework 学习(3) :Excel文件的操作

        Ⅰ、  打开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行的字段的数据;

robotframework 学习(3) :Excel文件的操作

         Ⅴ、  这样就可以遍历出每一行的数据了。

三、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:能力有限,自己也还在研究,做个笔记,也希望大家能够一起交流。