頁面對象自動生成技術
????????頁面對象自動生成技術,屬于典型的“自動化你的自動化”的應用場景。它的基本思路是,你不用再手工維護 Page Class 了,只需要提供 Web 的 URL,它就會自動幫你生成這個頁面上所有控件的定位信息,并自動生成 Page Class。
????????需要注意的是,那些依賴于數據的動態頁面對象也會被包含在自動生成的 Page Class 里,而這種動態頁面對象通常不應該包含在 Page Class 里,所以,往往需要以手工的方式刪除。
? ? ? ? 工具:
????????商用自動化工具,比如 UFT,已經支持頁面對象自動生成功能了,同時還能夠對 Page Class 進行版本管理。
????????免費的 Katalon Studio,已經提供了類似的頁面對象庫管理功能。
????????robotframework
GUI 測試數據自動生成
????????GUI 測試數據自動生成,指的由機器自動生成測試用例的輸入數據。
????????1)根據 GUI 輸入數據類型,以及對應的自定義規則庫自動生成測試輸入數據;
????????2)對于需要組合多個測試輸入數據的場景,測試數據自動生成可以自動完成多個測試數據的笛卡爾積組合,然后再以人工的方式剔除掉非法的數據組合
無頭瀏覽器
????????無頭瀏覽器,即 Headless Browser,是一種沒有界面的瀏覽器。無頭瀏覽器,其實是一個特殊的瀏覽器,你可以把它簡單地想象成是運行在內存中的瀏覽器。它擁有完整的瀏覽器內核,包括 JavaScript 解析引擎、渲染引擎等。與普通瀏覽器最大的不同是,無頭瀏覽器執行過程中看不到運行的界面,但是你依然可以用 GUI 測試框架的截圖功能截取它執行中的頁面。
????????優勢:
????????測試執行速度更快、減少對測試執行的干擾、簡化測試執行環境的搭建、在單機環境實現測試的并發執行
????????目前,Headless Chrome 結合 Puppeteer 是最先進的無頭瀏覽器方案。Puppeteer 是一個 Node 庫,提供了高級別的 API 封裝,這些 API 會通過 Chrome DevTools Protocol 與 Headless Chrome 的交互達到自動化操作的目的。