RF工程創建及腳本編寫指導


RF自動化腳本編寫簡介

 

簡介

RFRobotFrameWork的簡稱,一個以python為底層語言編寫的自動化測試框架,其自帶很多已經編好的類庫,能夠很好地適應不同python基礎的人來學習及使用,甚至不懂python都可以完成腳本編寫

詳細介紹參考

CSDN博客園https://www.cnblogs.com/tinghai8/p/5714229.html

百度http://yuedu.baidu.com/ebook/9772c2d0af45b307e9719709

 

腳本編寫:

百度文檔指導地址

https://wenku.baidu.com/view/18eac5264b7302768e9951e79b89680203d86b19.html

https://wenku.baidu.com/view/a07e4de7336c1eb91a375db6.html(這個文檔初學者一定要看!一定要看!!一定要看!!  重要的話說三遍^_^!一定要看  好了,不然后面看不懂~)

等等,很多資料

以上文檔有詳細的編寫介紹,可以用來熟悉RF工具,我這里主要寫一些后期編寫實用的東西。正如網絡文檔上面所述,RF支持當前主流軟件幾乎所有類型的自動化測試工作,其主要包括三個方面自動化

1、 web自動化主要web頁面的自動化工作,

(pip install robotframework-selenium2library)

使用類庫Selenium2Library

優點:簡單易學易編寫

缺點web腳本過多的依賴於網頁元素穩定性,后期維護會變的困難,工作量大

2、 接口自動化主要指借助協議接口調用及數據傳輸和服務器交互的測試。分為REST接口自動化SSHapi接口測試REST接口自動化使用HttpLibarary.HTTP庫,通過http類協議數據傳輸和服務器交互(pip install –upgrade robotframework-httplibrary )

SSHapi接口測試:使用SSHLibarary通過ssh協議連接服務器進行測試,

優點:穩定性、容錯性較好,運行速度快,維護成本

缺點需要了解一定入門級接口及網頁編輯原理上手較為困難

3、 app自動化主要指適用於各類app自動化測試,如安卓系統這里不贅述,有需要請了解以下文檔

https://wenku.baidu.com/view/e29fc881d1d233d4b14e852458fb770bf78a3b45.html?from=search

介紹完了,言歸正傳,下面進入結合項目自動化工程創建說明

UDP數據平台項目為例

、創建工程:

每個自動化工程建議有以下幾部分方便工程后期擴展統一管理:(在這里創建的每一個目錄都對應本地目錄層級,也可以本地創建好目錄后用RF打開,如:

 

我的工程存放在D這樣對應更清晰,有人說怎么多了個.idea目錄,這個是Python包創建時自動添加的,有興趣可以研究下

1、 腳本目錄:同禪道目錄層級,用於存放自動化腳本和用例一一對應。

2、 關鍵字目錄:用於存放項目編寫的公共方法及封裝的關鍵字方法

3、 測試數據目錄:存放測試數據,如json文件,測試輸入准備數據等

4、 參數目錄:存放提前設置好的全局變量,用於后期引用

 

 

創建關鍵字編寫公共方法:

按找基礎文檔可以封裝RF提供的庫以完成自己需要的關鍵字,這里不贅述,但有些時候我們需要自己編寫python方法或者自帶庫無法完成封裝或者太麻煩怎么辦?沒關系這里為大家介紹一下:

 

可以看到,這里的腳本中公共方法不是RF自帶庫,也不是通過封裝形成,而是我自己編寫的,RF中引用分為三種類型

 

Python就是自己寫的python文件python編輯器里打開的自動化工程:

 

這里的.py文件在RF工具中不顯示,但可以引用具體引用在腳本編寫中講

資源文檔

存放封裝方法的文檔,一般為txt

參數變量

存放變量,用后腳本編寫可用

 

 

 

創建關鍵字:

關鍵字就是自己編寫的python方法,如下圖中的check_login()

 

創建變量時,一般會在目錄中創建一個interface.txtresouce文件然后通過將.py文件先引用到interface上面,然后腳本調用時統一引用

 

關鍵字創建好后如何引用:

 

 

、創建變量

看圖(圖有點~)說話:關鍵字一樣,先創建一個interface文件將自己創建變量表引用至interface中,此時引用時使用resource,而不是library如下下圖:

 

Interface引用變量:

在interface文件中點resource然后找到變量文件ok就行!

 

 

說說上圖中var_for_udp變量表中的變量都是腳本編寫經常遇到且值不會變的參數,我們創建好后方便使用。

 

 

 

 

 

 

 

 

 

 

、腳本編寫

好了,這里划重點了,以上的步驟都是為這里做鋪墊!此章學會,逢考必過!

腳本編寫的時候根據用例的層級模型創建目錄,同類腳本放在一個目錄下方便參數和關鍵字的引用具體過程如下。

1、 在工程目錄右鍵選擇New Directory創建目錄層級,

 

2、 完成目錄創建后,新建測試NewSuite 單元同類腳本放入單元內在此單元引入腳本所需要的變量和關鍵字(此處引用后測試套內所有腳本都可以使用!

3、 腳本創建及編寫

上一步創建的測試套上右擊新建腳本New test case創建完成后腳本界面如下,依次為:

RUN 腳本運行界面:控制腳本運行和運行日志導出查看的界面,在運行日志分析時詳細說明

Text Edit 文檔編輯界面:此界面是直接編輯腳本保存的txt文檔以達到修改編輯腳本的目的(點開看一下就明白了!

Edit 腳本編輯界面:當前截圖所示界面,用以全面編輯腳本,設置前后置等

Settings 界面設置:管理腳本配套設置界面

Documentation 文檔說明:此處用來說明腳本,一般用來存放完整用例保證腳本忠誠度

Setup 腳本前置:腳本運行前運行的關鍵字,一般用來運行測試數據或環境准備

Teardown 腳本后置腳本運行運行關鍵字,此處無論腳本運行結果成功與否都會執行,相當於編程語言中異常處理的finally語句塊,一般用來清理測試數據和恢復測試環境

Timeout 超時時間 腳本運行的超時時間,如果腳本運行時間大於這里設定的時間就會運行失敗,標記block或者failed

Tags 腳本標記:批量運行時用於控制和識別腳本,有興趣下來了解

Template 模板腳本模板,用來限制參數數據?不太好懂,也比較少用,有興趣下去了解

 

 

 

創建完成后需要進行編寫,腳本編寫時使用內置庫請參考說三遍要看的那個PPT,這里介紹使用自定義庫

①在腳本編寫時需要先引用之前編寫好的方法和定義好的公共變量,舉個栗子:有兩個測試套種都使用了自定義的方法如下圖

測試套未引用interface文件,關鍵字不識別,不可用但變量時全局的,可以用

測試套正確引用,使用正常。

回到腳本編寫步驟,在測試套引用關鍵字時候只需要引用之前創建並引用好關鍵字的interface文件即可,使用resource引用,結果如下

 

然后回到腳本編輯界面,就可以愉快的編寫腳本了。

要注意的是在自定義方法引用后自動首字符大寫,這個是python自動生成。引用時我們可以Ctrl+Alt+Space聯想,如下圖

 

 

完整的腳本如下圖所示根據方法的入參方式和個數,在關鍵字右側輸入入參,使用變量在關鍵字前接受關鍵字返回值

如login.check_login方法是在login包下的一個驗證碼識別登陸的方法,方法入參需要登陸的url,用戶名及密碼,圖片輸出路徑,return返回登陸后分配的cookie

 

腳本運行

看下腳本運行界面,紅框中做啟停等操作界面的輸入

紅色箭頭分別表示:

運行狀態:綠色表示運行通過,紅叉表示運行失敗

Log :用於打開運行日志界面,是保存在本地的html文件

其他鍵位如其名

 

 

腳本運行失敗后,我們要分析日志查看失敗原因,一般失敗會有以下三個問題引起:

① 版本問題

腳本狀態及編寫無問題環境正常仍運行失敗,說明索要執行的用例不通過,版本有問題,此時建議根據手動去驗證結果

腳本問題

因為腳本邏輯導致的代碼運行錯誤,分析后調試腳本,確保腳本代碼邏輯正確,運行穩定

環境問題:

腳本運行環境或產品服務器突發異常導致的腳本失敗,修復環境后重新運行

 

日志界面  通過log鍵打開日志如下

 

點擊測試套/腳本對應的右邊綠色條可以打開詳細信息

 

 

 

根據對應的關鍵字運行信息進行腳本運行結果分析,

 

 

 

 

 

 

 

RF常用庫及安裝方法

1、安裝Selenium2Library的依賴庫decorator 
官方下載地址:https://pypi.python.org/pypi/decorator 
選擇.tar.gz的安裝包下載 
dos命令窗口下安裝:python setup.py install,等待安裝成功即可

2、安裝Selenium 
通過pip安裝:pip install selenium 

3、安裝庫Selenium2Library 
該庫用作界面ui操作 
dos命令窗口下安裝:pip install robotframework-selenium2library

4、安裝HttpLibrary 
該庫主要應用於發送和接受http請求,一般用作接口測試 
官方下載地址:https://github.com/peritus/robotframework-httplibrary 
dos命令窗口下安裝:pip install upgrade robotframework-httplibrary 

5、安裝,requestsrequestsLibrary 
主要用於接口測試 
requestsLibrary庫基於requests 
requests官方下載地址:https://pypi.python.org/pypi/requests 
requestsLibrary官方下載地址:https://pypi.python.org/pypi/robotframework-requests/ 
均下載.tar.gz的安裝包,先安裝requests,再安裝requestsLibrary

dos命令窗口下安裝:pip install  requests

6、安裝pymysql 
該庫為DataBase的依賴庫 
dos命令窗口下安裝:pip install PyMySQL

7、安裝DataBase Library 
功能:提供鏈接數據庫的關鍵字 
官方下載地址:https://github.com/franz-see/Robotframework-Database-Library

dos命令窗口下安裝:pip install robotframework-databaselibrary

 


免責聲明!

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



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