RobotFramework自动化测试框架-使用Python编写自定义的RobotFramework Lib
Posted 张永清
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RobotFramework自动化测试框架-使用Python编写自定义的RobotFramework Lib相关的知识,希望对你有一定的参考价值。
使用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自动化测试框架核心指南电子版试读
相关博文汇总:
RobotFramework下的http接口自动化Create Http Context关键字的使用
RobotFramework下的http接口自动化Get关键字的使用
RobotFramework下的http接口自动化post关键字的使用
RobotFramework下的http接口自动化Get Response Body关键字的使用
RobotFramework下的http接口自动化Get Response Status 关键字的使用
RobotFramework下的http接口自动化Get Response header 关键字的使用
RobotFramework下的http接口自动化Set Request Header 关键字的使用
RobotFramework下HttpLibrary库其它关键字
RobotFramework下的http接口自动化Set Request Body 关键字的使用
RobotFramework下的http接口自动化Follow Response关键字的使用
RobotFramework自动化测试框架的基础关键字(一)
RobotFramework自动化测试框架的基础关键字(二)
RobotFramework自动化测试框架的基础关键字(三)
RobotFramework自动化测试框架的基础关键字(四)
RobotFramework自动化测试框架的基础关键字(五)
RobotFramework自动化测试框架-移动手机自动化测试AppiumLibrary介绍
RobotFramework自动化测试框架-移动手机自动化测试Open Application关键字的使用
RobotFramework自动化测试框架-移动手机自动化测试AppiumLibrary库其它的常见自动化关键字
RobotFramework自动化测试框架-移动手机自动化测试Input Text和Click Button关键字的使用
RobotFramework自动化测试框架-移动手机自动化测试Clear Text关键字的使用
RobotFramework自动化测试框架-移动手机自动化测试Click Element关键字的使用
RobotFramework自动化测试框架-移动手机自动化测试Click A Point关键字的使用
RobotFramework自动化测试框架-移动手机自动化测试Click Element At Coordinates关键字的使用
RobotFramework自动化测试框架-移动手机自动化测试Get Element Location关键字的使用
RobotFramework自动化测试框架-移动手机自动化测试Get Network Connection Status和Set Network Connection Status关键字的使用
RobotFramework自动化测试框架-移动手机自动化测试Element Attribute Should Match关键字的使用
RobotFramework自动化测试框架-DatabaseLibrary库的使用(对数据库的操作)
RobotFramework自动化测试框架-使用Python编写自定义的RobotFramework Lib
RobotFramework自动化测试框架-Selenium Web自动化(-)-Open Browser和Close Browser
以上是关于RobotFramework自动化测试框架-使用Python编写自定义的RobotFramework Lib的主要内容,如果未能解决你的问题,请参考以下文章
RobotFramework自动化测试框架-Selenium Web自动化关于在RobotFramework中如何使用Selenium很全的总结(下)