能夠用來開發Python Lib的IDE工具備不少,常見的有Pycharm,Eclipse with PyDev插件等,並且在RobotFramework官網中也已經提供了RobotFramework-EclipseIDE插件,能夠支持Eclipse,插件的訪問地址爲https://github.com/NitorCreations/RobotFramework-EclipseIDE,能夠經過該地址下載插件。html
在這裏咱們以Eclipse with PyDev插件的形式來構建一個Lib,能夠從http://www.pydev.org/下載對應的插件,也能夠經過eclipse在線安裝的方式進行安裝,在線安裝安裝地址:http://www.pydev.org/updatespython
啓動eclipse後,點擊eclipse菜單Help->Install New Software...,在彈出的對話框中,點擊Add按鈕, Name中填:Pydev, Location中填http://pydev.org/updatesgit
點擊OK後,能夠看到供安裝的插件選項,這裏咱們選擇所有安裝。github
而後點擊下一步,等待安裝完成便可。數據庫
安裝完成後,須要在eclipse中配置Python解釋器,在Eclipse菜單欄中,點擊Windows ->Preferences. 在對話框中,點擊pyDev->Interpreter - Python. Interpreters 點擊New按鈕, 選擇python.exe的路徑, 打開後顯示出一個包含不少複選框的窗口. 點OKapi
插件配置完成後,咱們就可使用eclipse來構建一個python項目,這裏咱們新建一個ExcelLibrary項目,Project name 中輸入ExcelLibrary,而後點擊Finish完成項目建立。app
在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中的字典形式存儲進去。eclipse
咱們能夠調用一下咱們寫的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自動化測試框架-經常使用斷言關鍵字
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