Web UI自动化框架搭建
本篇博文只從項目架構角度,提供一些建議供參考。不涉及具體代碼編寫。目前市場上主流的免費開源工具就是Selenium。大家可以根據自己項目技術棧,選擇合適的語言+外加Unit Test框架,來構建自己的Web UI自動化項目。比如:Java+Selenium+JUnit/TestNG,Python+Selenium+UnitTest等。
整體而言,Web UI自動化框架主要包含以下三部分:
1. 頁面元素定義
2. 方法庫
3. 層級結構組織
有了這三部分,一個框架基本就搭起來了。再在層級結構最底層,添加自動化測試用例,讓它繼承自合理的父頁面,并能調用合適的方法庫,完成腳本運行和驗證即可。
頁面元素定義
關于如何做好頁面元素定義,我在之前的博客里有過一些建議:如何讓Web UI自動化測試更加穩定
這里還想在補充幾點:
- 一般來說,一個頁面對應一個類。這個類里包含了這個頁面的各個控件元素。每個元素,以類的屬性成員方式存在,且這個屬性不能被子類更改(在Java里,可以定義成private屬性,然后提供public/protected get方法。C#簡單些,定義成public屬性,然后僅提供get方法)
- 頁面類里應只包含控件元素定義,不要摻雜方法。頁面對應的方法應新起一個方法庫類,名字可以叫做xXPageFuncLib,與頁面類對應,放在項目同一層。
方法庫
方法庫主要放對應頁面的元素操作方法,方法庫對于構成最終的自動化測試腳本很重要,因為腳本里的一步步操作,基本要靠方法庫來實現。
方法庫里的方法,最好保持原子性,完成一些密不可分的基本操作。方法不應過長。過長的最好按照功能步驟,拆分開來。
除了頁面對應的方法類庫以外,每個項目,一般都會有自己的一些公用方法類庫,比如,ExcelUtil類庫,存放excel操作方法;BaseUtil類庫,放一些更加公用基礎的方法,生成唯一的時間戳字符串,字符串合并等。
層級結構組織
層級結構組織,其實就是將頁面元素組織起來,構成頁面。再通過合理的繼承,讓處于類關系圖譜最底層的一個個的auto test case擁有合適的父類頁面,父類方法庫,以完成自身的測驗步驟、測驗點。
一般而言,將瀏覽器的啟動,關閉等操作,放到root class里,這樣所有的最底層的auto test case就可以僅關注于自身步驟,驗證,不用重復編寫測試前瀏覽器啟動,測試結束后瀏覽器退出等操作。
總結
以上是生活随笔為你收集整理的Web UI自动化框架搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 8位低成本单片机
- 下一篇: 蓝桥杯比赛单片机文件组织