1. 程式人生 > 其它 >從搭建到實戰,看看這篇robotframework框架深度學習筆記

從搭建到實戰,看看這篇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/關注碼同學公眾號:自動化軟體測試

本文著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。