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自動化測試框架-常用斷言關鍵字

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自動化測試框架-MongoDBLibrary庫的使用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM