使用Python构建Lib工程
可以用来开发Python Lib的IDE工具有很多,常见的有Pycharm,Eclipse with PyDev插件等,而且在RobotFramework官网中也已经提供了RobotFramework-EclipseIDE插件,可以支持Eclipse,插件的访问地址为https://github.com/NitorCreations/RobotFramework-EclipseIDE,可以通过该地址下载插件。
在这里我们以Eclipse with PyDev插件的形式来构建一个Lib,可以从http://www.pydev.org/下载对应的插件,也可以通过eclipse在线安装的方式进行安装,在线安装安装地址:http://www.pydev.org/updates
启动eclipse后,点击eclipse菜单Help->Install New Software...,在弹出的对话框中,点击Add按钮, Name中填:Pydev, Location中填http://pydev.org/updates
点击OK后,可以看到供安装的插件选项,这里我们选择全部安装。
然后点击下一步,等待安装完成即可。
安装完成后,需要在eclipse中配置Python解释器,在Eclipse菜单栏中,点击Windows ->Preferences. 在对话框中,点击pyDev->Interpreter - Python. Interpreters 点击New按钮, 选择python.exe的路径, 打开后显示出一个包含很多复选框的窗口. 点OK
插件配置完成后,我们就可以使用eclipse来构建一个python项目,这里我们新建一个ExcelLibrary项目,Project name 中输入ExcelLibrary,然后点击Finish完成项目创建。
使用Python编写自定义的Lib
在Lib项目创建完成后,我们就可以编写自己的Lib了,这里我们编写一个从Excel中读取数据的Lib示例。
#-*- coding: utf-8 -*-
'''导入操作excel需要第三方的xlrd Library'''
importxlrd'''引入robotFramework的日志输出logger'''
from robot.api importlogger'''定义一个python class'''
classExcelUtil():def __init__(self):return
'''打开一个excel 文件'''
defopen_excel(self,excelfile):try:
data=xlrd.open_workbook(excelfile)returndataexceptException,e:
logger.error(e)'''获取excel中的数据方法,通过参数指定需要读取的excel文件名和sheetname'''
def get_excel_bysheetname(self,excelfile,lineindex=0,sheetname='Sheet1'):
data=self.open_excel(excelfile)
sheet=data.sheet_by_name(sheetname)
rows=sheet.nrows
linedata=sheet.row_values(lineindex)
list=[]for rownum in range(1,rows):
row=sheet.row_values(rownum)ifrow:
app={}for j inrange(len(linedata)):
app[linedata[j]]=row[j]
list.append(app)return list
示例代码中,定义了函数get_excel_bysheetname来获取excel中的数据,可以通过参数来指定需要获取excel哪个sheet中的数据,获取到的sheet数据最终以list的形式返回。List中的每一条记录都是以python中的字典形式存储进去。
我们可以调用一下我们写的lib是否可以正常使用,在RIDE中,我们导入刚刚写的Lib。
然后通过RIDE中F5快捷键,可以看到我们自定义的关键字。
导入后,我们可以通过一个测试案例调用一下,并且将结果以log形式输出。
${list} Get Excel Bysheetname E:\\task.xls
log ${list}
执行结果:
【原文归作者所有,欢迎转载,但是保留版权,并且转载时,需要注明出处】
相关博文汇总: