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

<p>   使用Python构建Lib工程 <p>可以用来开发Python Lib的IDE工具有很多,常见的有Pycharm,Eclipse with PyDev插件等,而且在RobotFramework官网中也已经提供了RobotFramework-EclipseIDE插件,可以支持Eclipse,插件的访问地址为https://github.com/NitorCreations/RobotFramework-EclipseIDE,可以通过该地址下载插件。

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

在这里我们以Eclipse with PyDev插件的形式来构建一个Lib,可以从下载对应的插件,也可以通过eclipse在线安装的方式进行安装,在线安装安装地址:

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

启动eclipse后,点击eclipse菜单Help->Install New Software...,在弹出的对话框中,点击Add按钮, Name中填:Pydev,  Location中填

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

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

点击OK后,可以看到供安装的插件选项,这里我们选择全部安装。

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

然后点击下一步,等待安装完成即可。

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

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

安装完成后,需要在eclipse中配置Python解释器,在Eclipse菜单栏中,点击Windows ->Preferences.   在对话框中,点击pyDev->Interpreter - Python. Interpreters  点击New按钮, 选择python.exe的路径, 打开后显示出一个包含很多复选框的窗口. 点OK

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

插件配置完成后,我们就可以使用eclipse来构建一个python项目,这里我们新建一个ExcelLibrary项目,Project name 中输入ExcelLibrary,然后点击Finish完成项目创建。

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

使用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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsxywx.html