從搭建到實戰,看看這篇robotframework框架深度學習筆記
每天進步一點點,關注我們哦,每天分享測試技術文章
本文章出自【碼同學軟體測試】
碼同學公眾號:自動化軟體測試,領取資料可加:Matongxue_8
碼同學抖音號:小碼哥聊軟體測試
Robot Framework 由Robot Framework Foundation支援。許多行業領先的公司在其軟體開發中使用 該工具。
Robot Framework 是開放和可擴充套件的。Robot Framework 幾乎可以與任何其他工具整合,以建立強大而靈活的自動化解決方案。Robot Framework 可以免費使用,無需許可費用。
Robot Framework 具有簡單的語法,使用人類可讀的關鍵字。它的功能可以通過使用 Python、Java 或 許多其他程式語言實現的庫進行擴充套件。Robot Framework 有一個豐富的生態系統,包括作為獨立專案開發的庫和工具
01robotframework環境搭建
-
安裝python3.6以上,並且確保環境變數配置正確
-
安裝robotframework庫
pip install robotframework
-
安裝robotframework ride指令碼圖形介面編輯器
pip install robotframwork-ride
點選是,會在桌面上建立一個快捷圖示
-
02內建關鍵字型檔
robotframwork安裝之後會出現在python安裝目錄的Lib/site-packages目錄下
其中的libraries目錄下就是我們將來編寫指令碼時用到的關鍵字原始碼
這些關鍵字型檔是按照一定的分類進行的
-
Builtln
變數定義、迴圈控制、資料計算、進位制轉換、斷言判斷、日誌等等
-
Collections
處理python列表和字典的相關操作
-
DateTime
處理日期和時間轉換的相關操作
-
Dialogs
提供暫停執行和獲取使用者輸入的方法
-
OperatingSystem
提供和作業系統相關的關鍵字
-
Process
操作程序相關的關鍵字
-
Remote
特殊庫充當 Robot Framework 和其他地方的庫之間的代理。實際的庫可以在不同的機器上執行, 並且可以使用任何支援 XML-RPC 協議的程式語言來實現
-
Screenshot
提供用於擷取桌面螢幕截圖的關鍵字
-
String
用於生成、修改和驗證字串的庫
-
Telnet
可以連線到 Telnet 伺服器並在開啟的連線上執行命令
-
XML
用於生成、修改和驗證 XML 檔案的庫
03ride基本說明
雙擊桌面ride圖示即可開啟ride介面
01專案建立
點選File->New Project, 選擇directory原因是,在directory的專案下可以建立測試套件,如果是tpye 為fifile,則只能建立測試用例,這不利於用例的管理
02建立測試套件
測試套件是用來管理多個測試用例的集合
右鍵選擇專案名稱,New Suite, 選擇fifile原因是,在fifile的測試套件下可以建立測試用例,如果是tpye 為directory,還得重新再繼續建fifile的測試套件,才能建立測試用例,因為測試用例只能在fifile型別下建立
03建立測試用例
右鍵選擇測試套件,點選New Test Case
04測試套件工作區說明
1、測試套件Edit區 分為4部分
設定區
設定區預設是隱藏的,點一下才會出現
-
Documentation:
文件,每一項都有。可以給當前的物件加入文件說明
-
Suite Setup:
指的是測試套件啟動的時候就執行某個關鍵字。
(例:我在Suite Setup設定了 Sleep | 5sec,表示等待5秒,要注意關鍵字的引數要使用 | 分隔)
-
Suite Teardown:
指的是測試套件結束的時候就執行某個關鍵字
-
Test Setup:
指的就是案例啟動的時候執行某個關鍵字
-
Test Teardown:
指的就是案例結束的時候執行某個關鍵字
-
Test Template:
測試模版,這是可以指定某個關鍵字為這個測試套件下所有TestCase的模 版,這樣所有的TestCase就只需要設定這個關鍵字的傳入引數即可
-
Test Timeout:
設定每一個測試案例的超時時間,只要超過這個時間就會失敗,並停止案例 執行。這是防止某些情況導致案例一直卡住不動,也不停止也不失敗
-
Force Tags:
在檔案型Suite這裡還可以繼續給子元素增加Force Tags,但是他不能刪除父元 素設定的tags
-
Default Tags:
預設標記,其實和Force Tags沒啥區別的
免費領取碼同學軟體測試課程筆記+超多學習資料+完整視訊+面試題,可加微信:Matongxue_8
引用區
主要是用來載入外部檔案
-
Library:載入測試庫,主要是[PYTHON目錄]\Lib\site-packages裡的測試庫
-
Resource:載入資源,主要是你工程相關的資原始檔
-
Variables:載入變數檔案
引數區
主要是用來定義該套件的內部變數
-
Add Scalar:定義普通變數
-
Add List:定義列表型變數
-
Add Dict:定義字典
資料區
主要是在report和log裡顯示定義好的內容,格式和document一樣
2、測試套件Text Edit區
測試套件測試用例文字資訊
3、測試套件Run區
-
Execution Profifile:
選擇執行方式,裡面有pybot、jybot和custom script。預設pybot即可。
-
Start:
執行案例。若該測試套件下的測試用例前無勾選,則預設執行該測試套件下所有的用例。若測試用例勾選,則執行該測試陶見下勾選的用例。
-
Stop:
停止案例。
-
Report和Log:
報告和日誌,要執行之後才能點選。他們的區別,報告更多是結果上的展示,日誌 更多是過程的記錄,更多使用的還是日誌。
-
Autosave:
自動儲存,如果不勾選,在修改了案例之後如果沒有儲存的話,執行案例時會提示是否 儲存。勾選則在執行時自動儲存了。
-
Arguments:
pybot的引數(或者jybot等)。完整版的引數可以在doc命令列輸入pybot.bat --help
-
Only Run Tests with these Tags:
只執行這些標記的測試案例。在case的setting裡可以新增tag
-
Skip Tests with these Tags:
跳過這些標記的測試案例。在case的setting裡可以新增tag
05測試用例工作區說明
1、測試用例Edit區 主要分為2部分
設定區
-
Documentation:
文件,每一項都有。可以給當前的物件加入文件說明。
-
Setup:
指的就是案例啟動的時候執行某個關鍵字。
-
Teardown:
指的就是案例結束的時候執行某個關鍵字。
-
Tags:
標記某個測試用例。在Run區中Only Run Tests with these Tags和Skip Tests with these Tags,會通過這個標誌位來識別是否執行或跳過用例。
-
Timeout:
設定每一個測試案例的超時時間,只要超過這個時間就會失敗,並停止案例執行。這是防止某些情況導致案例一直卡住不動,也不停止也不失敗。
-
Template:
測試模版,這是可以指定某個關鍵字為這個測試套件下所有TestCase的模版,這樣所有的TestCase就只需要設定這個關鍵字的傳入引數即可
表格區
-
這是編寫測試用例的地方
2、Text Edit和Run區和測試套件沒有區別
04robotframwork基礎語法
01日誌中文亂碼處理
找到自己python安裝目錄下的Lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py 開啟上述檔案,找到565行先複製,再註釋,另起一行貼上和修改
修改完成後重啟ride
02用例內部變數
1、普通變數
普通變數定義需要使用Set Variable關鍵字,第一個單元格指的是變數名稱,最後一個單元格10, 指的是把10賦值給a這個變數
Log是日誌關鍵字,輸出a的值
執行一下
2、列表變數
列表變數定義需要使用Create List關鍵字
列表定義可以使用兩種方式:
-
${xxx}
-
@{xxx}
3、字典變數
字典變數定義需要使用Create Dictionary
字典定義可以使用兩種方式:
-
${xxx}
-
&{xxx}
-
03集合公共變數
有一些是在同一個測試集合中都會用到的公共變數,那麼就可以在集合中進行定義
-
新增一個普通變數
-
新增一個列表變數
-
-
新增一個字典變數
-
公共變數使用
集合的公共變數在他下面的每個測試用例中都可以使用
執行後結果:
04判斷
案例:給定一個成績值,大於90分輸出優秀、大於80是良好、大於70是一般、大於60是及格,其他是不及格
Run Keyword If的使用
免費領取碼同學軟體測試課程筆記+超多學習資料+完整視訊+面試題,可加微信:Matongxue_8
05迴圈
案例1:計算100以內的數字和
FOR...IN RANGE xxx ... END結構
${i}相當於迴圈變數
Evaluate 表示將${sum}+${i}的計算結果賦值給${sum}
案例2:輸出列表中的偶數
FOR ... IN xxx ... END 結構
${i}相當於迴圈變數
Run Keyword If 是判斷當前迴圈變數是2的倍數,那麼就輸出
案例3:跳過當次迴圈,遍歷列表,如果是5的倍數就跳過
Continue For Loop If表示滿足條件就跳過本次迴圈
案例4:遍歷列表,如果碰到5就終止迴圈
Exit For Loop If表示滿足條件則終止迴圈
06關鍵字型檔匯入
需要使用一些擴充套件關鍵字時,需要先匯入相對應的庫,比如針對列表和字典操作的庫是Collections
-
匯入Collections
選擇測試集合,注意匯入後如果顯式紅色,說明匯入不正確
-
使用Collections中的關鍵字
07使用者關鍵字
使用者關鍵字是自定義的一種關鍵字,相當於寫程式碼時自己封裝一個函式
1、普通變數作為入參
案例:封裝一個計算指定數字之內的所有數字和,比如100以內,1000以內等等
建立關鍵字
呼叫關鍵字
在某個測試集合中想要呼叫自定義的關鍵字,需要先匯入
-
匯入自定義關鍵字
匯入之後顯式綠色說明正確,顯式紅色說明匯入的resource路徑不對
-
呼叫關鍵字
在測試用例中呼叫自己寫的關鍵字
2、列表變數作為入參
案例:封裝一個返回給定列表中的偶數
建立關鍵字
呼叫關鍵字
3、字典變數作為入參
案例:將學員各個語言科目成績定義成字典{'python':95,'java':58,'c':70},封裝一個關鍵字將不及 格的分數都改成60
建立關鍵字
呼叫關鍵字
4、多變數入參
案例:封裝一個計算三個數之和的關鍵字,第三個數預設值是10
建立關鍵字
呼叫關鍵字
對於有預設值的引數,在呼叫時可以傳也可以不傳
END
免費領取碼同學軟體測試課程筆記+超多學習資料+學習完整視訊 ☞ 可加:Matongxue_8/關注碼同學公眾號:自動化軟體測試
本文著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。