iT邦幫忙

2022 iThome 鐵人賽

DAY 16
0
Software Development

QA 三十天養成日記系列 第 16

[Day16] [Web 自動化] Robot framework 基本常見的 Keywords 用法及語法

  • 分享至 

  • xImage
  •  

看完上一篇後
其實 code 真的寫得不 ok XDDD
所以這邊就先來好好整理一下常見常見的 Keywords 及 Robot 語法
再將這些寫法整合起來,去改善上一篇的寫法

Robot framework 常見的套件和內建工具

需額外安裝的

  • SeleniumLibrary(or Selenium2Library)

Robot framework 內建工具

  • Builtin

SeleniumLibrary

通常只要有關爬蟲 或 自動化,大多都會從 Selenium 起手,基本是就是可以用來模擬 web 操作的套件。

它提供的 Keywords 有(以下為較常使用):

  • Open Browser 打開瀏覽器
  • Close Browser 關閉瀏覽器
  • Go to 訪問某個 URL
  • Go Back 相當於瀏覽器的後退
  • Get Element Attribute 取得元件的屬性
  • Get Text 取得文字。通常用於 <p> <div> <a> 之類的
  • Get Value 取的值。通常用於 <input> <textarea> <select> 之類的
  • Input Text 輸入文字
  • Element Should Be Focused 常見於點擊輸入框後,會有些特殊判斷
  • Wait Until Element Is Visible 等待元件顯示,才執行下一步
  • Wait Until Element Is Not Visible 等待元件不顯示(消失),才執行下一步
  • Execute Javascript 可以插入 JS 的語法。e.g.可以會用再控制頁面滾軸之類的。
  • Submit Form 提交表單

其實關鍵字還有非常多,官方文件也寫得非常清楚

若英文版看得很累,也有其他作者把所有關鍵字翻譯出來 以及 提供寫法

Builtin

主要功能大多為 驗證、轉換、Log、Sleep、if 判斷式、設置全局變量 等。
若 SeleniumLibrary 是單純在模擬 web 操作
那 Builtin 就是將 web 操作過程中增加一些邏輯,這樣就可以更準確地進行驗證。

它提供的 Keywords 有(以下為較常使用):

  • Log 查看日誌,Debug 萬用小幫手,跟一般寫 python/js 一樣,類似 print()、console.log()
  • Evaluate 執行python表達式,簡單說就是可以讓你無痛在 robot 中寫 python 的語法
  • Run Keyword If 就是判斷式,如果判斷條件滿足時,就執行給出的關鍵字,相當於python中的if
Run Keyword If  判斷條件  其他關鍵字  
...    ELSE IF   判斷條件  其他關鍵字   
...     ELSE  判斷條件  其他關鍵字

(ELSE IF 或者 ELSE 前面的3個點不能省略喔)

  • For Loop 迴圈
FOR 變數  IN  序列(or 列表)
   關鍵字 參數值
END

FOR 變數  IN RANGE 循環的值
   關鍵字  參數值
END
  • Exit For Loop If 停止 FOR 迴圈。
${text} =    Set Variable    ${EMPTY}
FOR    ${var}    IN    one    two
    Run Keyword If    '${var}' == 'two'    Exit For Loop
    ${text} =    Set Variable    ${text}${var}
END
Should Be Equal    ${text}    one
  • Create List 創建陣列的方式
    • @{list} = Create List a b c
    • ${scalar} = Create List a b c
    • ${ints} = Create List ${1} ${2} ${3}
  • Convert To Integer 將值轉換成整數
  • Convert To Number 將值轉換成數字
  • Convert To String 將值轉換成字串
  • Should Be Equal As Integers 值要是成整數
  • Should Be Equal As Numbers 值要是成數字
  • Should Be Equal As Strings 值要是成字串
  • Sleep 休眠,通常都是要等待某個元件 或 測試 完成。(注:等待某元件出現建議使用 Wait Until Element Is Visible)

基本上關鍵字非常多,官方文件也寫得非常清楚
https://robotframework.org/robotframework/latest/libraries/BuiltIn.html

結語

其實還有很多關鍵字,但我覺得一一列出有點冗長。
因為其實 Robot framework 官方提供的文件真的都已經寫得很清楚了
如果是英文不太好的人,就麻煩善用 google 翻譯一下
邊實作邊學,學習進度會很快的


上一篇
[Day15] [Web 自動化] Robot framework 教學,新手初次小專案,帶你快速進入自動化測試領域
下一篇
[Day17][Web 自動化] Robot framework 教學,新手無痛起步!讓你的小專案成為完整體吧!
系列文
QA 三十天養成日記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言