您的位置:首页 > 编程语言 > Python开发

RobotFramework自动化测试框架-使用Python编写自定义的RobotFramework Lib

2018-05-01 16:28 477 查看

  使用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
'''
import xlrd
'''
引入robotFramework的日志输出logger
'''
from robot.api import logger
'''
定义一个python class
'''
class ExcelUtil():
def __init__(self):
return
'''
打开一个excel 文件
'''
def open_excel(self,excelfile):
try:
data = xlrd.open_workbook(excelfile)
return data
except Exception,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)
if row:
app = {}
for j in range(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}    

执行结果:

【原文归作者所有,欢迎转载,但是保留版权,并且转载时,需要注明出处

Robot Framework自动化测试框架核心指南电子版试读

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: