1.什么是自動化測試框架
簡單來說,自動化測試框架就是由一些標准,協議,規則組成,提供腳本運行的環境。自動化測試框架能夠提供很多便利給用戶高效完成一些事情,例如,結構清晰開發腳本,多種方式、平台執行腳本,良好的報告去跟蹤腳本執行結果。
框架具有以下一些優點:
1)代碼復用
2)最大覆蓋率
3)很低成本維護
4)很少人工干預
5)簡單報告輸出
2.常見的測試框架分類
好多Selenium自動化測試開發人員是有QTP那邊轉過來的,所以,他們在早期設計的框架大致可分為以下幾類:
1)基於模塊的測試框架
2)基於庫(Library)結構測試框架
3)數據驅動測試框架,和QTP很像
4)關鍵字驅動測試框架,也是QTP過來的
5)混合測試框,3 4和綜合
6)行為驅動開發測試框架
這里我們不一一介紹這些框架,字面意思可以想象一些這些框架的背景和組件,本文只是對框架有一個基本了解。
3.框架基本組件
我們來思考下框架組成部分:
1)需要配置文件管理
2)業務邏輯代碼和測試腳本分離
3)報告和日志文件輸出
4)自定義的庫的封裝
5)管理、執行腳本方式
6)第三方插件引入
7)持續集成
解釋:
我們需要一個配置文件去控制一些,環境信息,開關,配置文件可以是txt/xml/yaml/properties/ini,一般.properties使用較多在JAVA里,本文是Python系列,我可能會選擇ini文件。
業務邏輯代碼和測試腳本分離,不像我們剛開始學習Selenium那樣,代碼和腳本在一個類文件里演示。我們根本沒有用到代碼重構,復用。代碼和用例文件分離后,更加清晰,去多人開發腳本,方便調試。
報告和日志文件輸出,你執行了多少case,case結果如何,這都需要報告來展示,一般采用第三方插件來實現這個功能,好多報告格式是html,簡單,明了的風格。日志輸出也很重要,如果發生報錯,腳本執行失敗,通過日志快速定位發生問題位置。
用戶自定義庫,這個很好理解,我們很多功能需要重復調用,這樣我們就寫成一個公用方法,放到工具包下,每次方便調用,例如瀏覽器引擎類和basepage.py的封裝。
管理和執行腳本的方式,例如Python中單元測試框架unittest使用率非常高。
第三方插件,有時候,我們一些功能,需要借助第三方插件,能夠更好實現,例如AutoIT,來實現文件上傳和下載。還有利用第三方報告插件生成基於html格式的測試報告。
持續集成,git,svn,ant,maven,jenkins,我們會把這整合到jenkins,達到持續集成,一鍵執行測試腳本。
根據以上的特點介紹,我大致用以下圖來描述一下,一個簡單的自動化測試框架,可能包含哪些組成部分。
框架的簡單介紹就到這里,有些人把框架想得太復雜了,框架無非就是一些軟件的集合,達到特定的目的。這里我們上圖畫出來的框架,就是一個簡單的自動化測試框架,別笑,這確實是一個簡單但又包含必要的組件的自動化測試框架設計實例,如果你學會了這個設計思路和思想,那么,你已經達到了自動化測試第二個階段的水平:能夠簡單設計自動化測試框架和維護框架的能力。