閱讀本文大概需要 10 分鐘,文末有福利,
Robot Framwork在業界早已名聲大振!有很多剛學自動化測驗的伙伴問我:有沒有不需要編程就可以玩自動化的方法?
有嗎?有的!——Robot Framwork
我們今天就一篇文章,把它講得明明白白!
一、Robot Framwork簡述
Robot Framework是一款python撰寫的功能自動化測驗框架,支持python2和python3兩個版本,是一款開源自動化測驗框架,Robot意思是機器人,Framework意思是框架,合起來就是機器人框架,他安裝之后,桌面是一個機器人圖示,也就是我們經常聊起的自動化測驗框架,很多人認為他是一個工具,其實不然,
工具:好比日常用的工具,螺絲刀,菜刀等等,他完成特定的功能,比較介面工具,他是專門用于做介面測驗的,比如資料庫連接工具navicate,專門用于連接資料庫的,
框架:好比我們經常用的USB介面,你如果插入耳機,那么這個介面就用于聽歌,如果你插入手機,那么就可以連接手機,如果你插入U盤,就可以傳輸檔案,框架和工具的主要區別是,框架具有擴展性,他只是個架構,你通過架構可以開發出不同的功能,我們經常聽的房子,你先建一個框架,至于你把哪些裝修為廚房,哪些裝修為主臥,客廳,看你需要來定制,
二、RF作業原理
我的理解如下:
Robot Framework是一個完全基于關鍵字測驗驅動的框架,它即能夠基于它的一定規則,匯入你需要的測驗庫(例如:其集成了selenium、request、appium測驗庫,這個其實就是他的拓展性),然后基于這些測驗庫,你能應用HTML、TXT等檔案形式撰寫自己的關鍵字(這些關鍵字即你的庫組成),之后,再撰寫測驗用例((測驗用例由測驗關鍵字組成)進行測驗,
關鍵字:就是你匯入的測驗庫的函式,其實你就是呼叫測驗庫里面封裝的函式,組成你的自動化測驗步驟,形成測驗用例,需要有一點python函式基礎,這個后續RF章節會重點講解,
運行原理:框架首先決議資料、初始化資料,然后,開始決議用例檔案,生成資料物件,資料物件中包含了測驗集的各種資料,例如:測驗用例集名稱、各個測驗用例名稱、各個關鍵字名稱等,
再將測驗資料物件傳送給測驗集合類處理,生成測驗集suite物件
然后,運行suite中的用例測驗,它利用庫提供的關鍵字與目標系統進行互動,庫可以直接與系統通信,也可以使用其他工具作為驅動程式,
從命令列開始測驗或任務執行,結果,您將獲得報告并以HTML格式以及XML輸出進行登錄,這些提供了對系統功能的廣泛了解

三、RF的功能
Robot Framework是為“測驗"而生,他的目標人群是測驗工程師,它的目標和使命注定了RobotFramework必須要簡單/簡潔/親民/易懂,而這些Robot Framework都做到了,這使得RobotFramework推出之后,得以快速發展傳播,
他生態鏈里面的測驗庫有的功能,他都支持,常用的UI、APP、介面自動化,包括連接資料庫,操作linux等,都能實作,只要能開發測驗庫,或者安裝官方的測驗庫就可以實作特定的自動化,因為這是一個自動化平臺,
四、RF的特性
-
重要特性之一是"Keyword-driven”(關鍵字驅動),keyword類似其他高級語言的函式,使得代碼結構化和重復利用,對于我們懂代碼的人來說,就是函式,就是方法
-
測驗用例使用文本檔案(TXT或者TSV檔案)保存,使用制表符分隔資料,可以方便的使用任何文本編輯器,或者EXCEL編輯測驗用例,也可以使用HTML格式創建用例,
-
測驗用例中支持變數使用,可以使用IF陳述句和FOR回圈陳述句,
-
可以利用"標簽"功能對測驗用例進行分類和有選擇執行,
-
支持關鍵字驅動、資料驅動和行為驅動,
-
利用已有的關鍵字,測驗人員可以創建自己需要的關鍵字,對RF自動化進行二次開發,和功能定制,可以使用Python和java開發自己需要的測驗庫,
-
測驗執行報告和日志是HTML格式,容易閱讀,
-
提供了測驗執行事件的監聽介面,并且可以自定義介面中的腳本,例如,某個用例執行前,“start_test"介面中的腳本就會被執行;用例執行結束后,“end_test"介面中的腳本就會被執行,而測驗人員可以自定義"start_test"、"end_test"這兩個介面的腳本,
-
提供了命令列介面和XML格式的輸出,可以與版本管理工具結合,進行持續集成,
-
提供了遠程測驗執行介面,可以進行分布式測驗執行,
五、RF環境搭建
1、搭建RF自動化平臺環境
1.python版本:3.7
python官網下載: https://www.python.org/
⒉配置python環境變數,在"我的電腦->屬性->高級系統設定>環境變數->系統變數",找到path,然后點擊編輯,在PATH里面添加python安裝路徑,如下圖:

3.安裝Robot Framework
pip install robotframework 不兼容Selenium2Library,已經使用robotframework-browser測驗庫
pip install robotframework==3.1.2支持selenium2Library

4.支持python圖形化界面,主要用來運行RIDEwxPython
pip install wxpython==4.0.4

5.安裝可視化界面ride
pip install robotframework-ride

6.安裝web自動化測驗庫
pip install robotframework-se1enium27ibrar

7.安裝介面自動化測驗庫
pip install RobotFramework-requests
2、配置pycharm編輯環境
8.配置pycharm撰寫環境
1.File->Settings->plugins,點擊plug插件搜索并安裝Robot Framework Support插件,但是IntelliBot這款插件,最新更新時間還在2016年,近3年都沒有在維護(注意!!!安裝完成之后一定要重啟pycharm)

2.重啟pycharm
3.設定可以運行RF,File->Settings->Tools->External Tools,robot.exe
注意:
-
1、選中關鍵字,按Ctrl+b可直接跳轉到關鍵字的源代碼當中去,
-
2、沒有robot關鍵字自動補全的機制,關鍵字名稱需要自己查找,
-
3、左側Projects區域當中,沒有可用關鍵字展示功能,
3、RF控制臺中文亂碼
修改
Lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py**
中565行將SYSTEM修改為OUTPUT,位置如圖所示:

一般python安裝路徑存在中文檔案夾的情況會出現:
Lib\site-packages\robotide\contrib\testrunner目錄下testrunner.py中將latinl修改為mbcs,(mbcs為多位元組字符集,會根據系統自動顯示為對應的語言字符集,中文系統中展示GB2312)

六、RF實作介面自動化
1.安裝robotframework-requests
pip install robotframework-requests 'RequestsLibrary` is a Robot Framework test library that uses the Request HTTPclient .
pip install request
七、RF實作web自動化
pip2 install robotframework-selenium2 library
八、RF實作app自動化
1.下載SDK,JDK 2.配置SDK和JDK環境變數,在系統環境變數里面配置 1).必須添加ANDROID_HOME變數,值指向SDK的根目錄 2).在path里面添加%ANDROID_HOME%\ too7s ;%ANDROID_HOME%\p1atform-too1s 只有配置好,我們才能用adb命令 3).配置JDK環境變數 3.安裝Appium服務端和客戶端 1).安裝node .js:node-v6.11.2-x64 .msi 2).安裝監聽端: pip install Appium-Python-client 3).安裝服務端: appium-desktop-setup-1.8.1.exe 如果報錯安裝: network4.5 : NDP451-KB2858728-x86-x64-All0S-ENU.exe 4).安裝appium第三方庫: pip install robotframework-appiumlibrary
需要更多往期教程
安裝包以及錄制好的原創視頻教程公眾號【程式員一凡】
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/236409.html
標籤:其他
