(1)先安装:pip install robotframework-excellibrary
出问题来,还好网上有教程:
1)下载https://files.pythonhosted.org/packages/b8/e7/8c079a814e7ad288ec2fc15671d8dc526e3d537bb00e4ab2b209a63674ed/robotframework-excellibrary-0.0.2.zip
2)解压按教程改:
文件 setup.py
#execfile(join(dirname(__file__), 'ExcelLibrary', 'version.py'))
exec(open(join(dirname(__file__), 'ExcelLibrary', 'version.py')).read())
文件 ExcelLibrary.py
将所有的print xxx 语句修改为 print(xxx)
文件 __init__.py
#from ExcelLibrary import ExcelLibrary
#from version import VERSION
from .ExcelLibrary import ExcelLibrary
from .version import VERSION
文件 ExcelLibrary.py
#from version import VERSION
from .version import VERSION
3)robotframework-excellibrary无法通过pip安装,只能手动安装了,下载压缩包解压到Python下的site-packages目录下,根据上面所述去进行修改,在site-packages使用windows命令行模式执行 python setup.py install, 然后可以使用pip list继续查看,安装成功:
(2)在测试集中导入ExcelLibrary一直标红,在Tools—View RIDE Log查看问题显示:
1)Importing test library ‘ExcelLibrary’failed:ImportError:No module named natsort等
是缺少natsort模块,下载natsort模块并安装
2)pip install xlutils
3)pip install xlwt
4)pip install xlrd
安装完上面4个后终于导入成功了:
(3)开始使用ExcelLibrary库:
excel内容如下:
1) 首先,与Java数组一样,在Excel中的行和列也是从下标0开始的。
2) 第1行关键字“Open Excel”:打开一个Excel文件。
3) 第2行关键字“Get Column Values”,获取“Sheel1”表格中的第1列的所有值,并保存到列表变量“@{listCol}中。注意,由于此处获取到的是一串值,所以我们使用List列表型变量来保存,此变量与普通变量的区别在于使用“@”符号来声明而不是“$”符号。
4) 第4行关键字“Get Row Values”与“Get Column Values”用法相似,读取第一行的内容。
5) 第6行关键字“Read Cell Data By Name”可以通过单元格的名称直接读取到一个具体的单元格的内容。比如“A3”表示第A列第3行的数据,即第1列第3行数据,值为“selenium学习”。
6) 第8行关键字“Read Cell Data By Coordinates”则是按照行和列的坐标直接读取具体的一个单元格的值,下标从0开始。此外的“1,2”对应的即为第2列第3行的数据,值为“selenium学习_百度搜索”。
7) 第10行则是通过关键字“Get Row Count”获取到当前表格的数据行数,并将该数量赋值给变量“${rowCount}”,便于后续进行循环。
(4)运行是发现报错,因为XLRD模块不支持xlsx格式的excel表格,我强行把扩展名从xlsx改成xls也不行,那么就把xlsx格式另存为xls格式,运行成功:
终于勉强完成excel表格的读写