自动化工具 初探 Robot Framework 之框架介紹 - 00

Ms.Test · February 28, 2020 · Last by Alpha replied at March 02, 2020 · 1554 hits

原部落格好讀版

Robot Framework是什麼樣的測試工具?

Robot Framework是一個開源的自動化測試框架

在安裝RIDE後, 可以透過GUI介面來進行測試活動

可以使用Python, Java語言來撰寫測試套件

雖然根據工具特性多被運用在驗收測試

但透過Python撰寫關鍵字來組合測試案例, 以及本身提供的自動生成報告以及結合Jenkins...等

功能強大, 應用非常廣泛

Robot Framework中的測試案例是由"關鍵字"所構成

(keyword driven)
而關鍵字又可由其他關鍵字所構成

以達到更好的reuse及整合

是一套透過活用排列組合來撰寫測試案例的工具

什麼是"關鍵字"?

由於Robot Framework被大量的運用在驗收測試上

關鍵字的命名能讓使用者更加理解測試的目的及步驟

Robot Framework中的關鍵字分為兩種 :

  • 系統關鍵字
  • 使用者定義關鍵字

Robot Framework本身提供的關鍵字稱為系統關鍵字

可以通過導入library來使用

例如 "For", "log", "set variable" ..等

使用者定義關鍵字則由使用者所撰寫

舉個使用情境例子 :

打開颱風資訊中心網頁, 點擊進入颱風警報頁面
  • 原本使用 "Open Browser", "Click Element"這些關鍵字即可完成動作

  • 將以上兩個關鍵字再組成"show Typhoon status"關鍵字

範例運行 :

使用"關鍵字"寫測試案例的好處

原本就能完成的動作為什麼還要組裝呢?

原因有以下考量 :

簡化繁瑣的撰寫步驟

未組合前, 每次要執行"查詢颱風資訊頁面"便得貼上"Open Browser", "Click Element"這兩個步驟

這次的步驟範例只有兩行, 要是程式碼行數一多, 複製貼上的步驟便顯繁瑣

維護測試案例是很花人力成本的!

易於了解步驟目的

雖然能看懂這兩個關鍵字所執行的動作, 但卻無法在第一時間釐清目的

組合成 "show Typhoon status"關鍵字後, 便能清楚了解這個動作是在展示颱風狀態

以上這個過程即是"keyword driven"

每個關鍵字都待代表著一個要執行的動作

像是Open Browser 背後就有其相對應的程式碼

藉由定義 > 組裝的循環過程來使用關鍵字進行測試

生成測試報告

Robot Framework還有一個很棒的功能

即是在測試結束後自動產生測試報告

既然是自動化測試框架, 自動化生成測試報告也是很正常的

如果測試人員必須從測試結果中擷取資訊並且人工產出測試報告

不僅花費時間, 也容易產生人為失誤

Robot Framework產生的報告 紅綠配色一目了然
除了可以看到測試結果 還能看到測試步驟

這些資訊對釐清問題或者複製bug有很大的幫助

好像有很多優點, 那缺點呢?

Robot Framework功能強大, 結合CI工具根本是開發界, 測試界的一大福音

仔細想想

其實優點也相關於缺點

  • 測試過程的LOG雖然仔細, 但可讀性還不夠高
  • 自行設計關鍵字, 組裝關鍵字來撰寫測試案例固然好用
    但程式能力是一道門檻

功能雖然強大, 但一方面也代表著上手此工具將會花費相當的時間

工具沒有絕對的好壞, 能適當地用來解決問題就是好工具  

Reference

共收到 11 条回复 时间 点赞

试用过, 个人感受,用例可读性较好,但编辑起来挺麻烦,debug也不方便。 适合没有coding能力的测试人员。

lichen 回复

其實還是挺看情況的, 撇除RIDE不談
robotframework結合Python的應用很廣
自己編寫python的keyworld來用的話, 功能強大

Ms.Test 回复

都会python有coding能力了, 直接用unittest/pytest这种测试框架不是更方便灵活?

RF有点过时了

为什么你用的是繁体字?

Kevin 回复

台湾同胞

介绍的非常详细,RF框架是一款比较成熟的测试框架,本身易用性做的很好,很适合快速上手用

感谢分享,不过RF现在好像用的人不太多。
好像测试圈,对越复杂笨重的工具的排斥越来越高了。

我们公司一直用的就是RF,个人感觉通过关键字使用的时候,容易造成封装的过度,在定位问题的时候去看log会很头疼,关键字多了以后ride的启动会很慢,对推广也很不利,现在也在考虑更轻便快捷高效的框架

可以推荐一个自动化平台,比RF操作更加简单,功能更加强大。例如操作数据库,上传等。令人头疼的调试功能,在平台也变的超级简单。支持在线实时,断点调试
https://testerhome.com/opensource_projects/rabbit----

徐汪成 回复

除了rf本身的问题,测试也急需提高编程技术,以适应市场要求

可以关注公众号“诗泽园”,里面有rf的相关技术文章

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up