從搭建到實戰,看看這篇robotframework框架深度學習筆記

每天進步一點點,關注我們哦,每天分享測試技術文章

本文章出自【碼同學軟件測試】


Robot Framework?由Robot Framework Foundation支持。許多行業領先的公司在其軟件開發中使用 該工具。

碼同學公眾號:自動化軟件測試

碼同學抖音號:小碼哥聊軟件測試

Robot Framework 是開放可擴展的。Robot Framework 幾乎可以與任何其他工具集成,以創建強大而靈活的自動化解決方案。Robot Framework 可以免費使用,無需許可費用。

Robot Framework 具有簡單的語法,使用人類可讀的關鍵字。它的功能可以通過使用 Python、Java 或 許多其他編程語言實現的庫進行擴展。Robot Framework 有一個豐富的生態系統,包括作為獨立項目開發的庫和工具

01

robotframework環境搭建

安裝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 文件的庫

03

ride基本說明

雙擊桌面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沒啥區別的

引用區

主要是用來加載外部文件

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區和測試套件沒有區別

04

robotframwork基礎語法

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的使用



免費領取碼同學軟件測試課程筆記+超多學習資料+完整視頻+最新面試題,可以轉發文章+ 私信「碼同學666」獲取資料哦

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

免費領取碼同學軟件測試課程筆記+超多學習資料+學習完整視頻,可以關注我們公眾號哦:自動化軟件測試

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

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,572評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,071評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,409評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,569評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,360評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,895評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,979評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,123評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,643評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,559評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,742評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,250評論 5 356
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 43,981評論 3 346
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,363評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,622評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,354評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,707評論 2 370

推薦閱讀更多精彩內容