berserkJS頁面性能分析與測試自動化工具
來自: http://finalshares.com/read-6763
berserkJS(大名:狂暴JS / 昵稱:瘋子JS)
源碼: https://github.com/tapir-dream/berserkJS
頁面性能分析與測試自動化工具,可用 JS 編寫自己的檢測、分析規則,并自動執行。
基于 QT 開發,理論上可以跨平臺使用,前提是在目標平臺編譯并部署 QT 運行環境。
此工具用于嘗試前端自動化分析頁面網絡請求數據,可以使用 JS 操作頁面導向,獲取所需數據。
使用案例
- 無界面瀏覽器測試 :在不依賴本地任何瀏覽器的情況下,運行測試框架,如 QUnit,Capybara, QUnit, Mocha, WebDriver, YUI Test, BusterJS, FuncUnit, Robot Framework 等。
- 頁面自動化 :可以無障礙訪問和操作網頁的標準 DOM API 以及頁面所用 JS 變量、對象、屬性等內容。
- 屏幕捕獲 :以編程方式獲取網頁全部或部分內容,可根據 Selector 截取指定 DOM 元素渲染情況;包括 CSS,SVG 和 Canvas。可將截取圖片 base64 化,以便發送給遠端服務器保存。
- 網絡監控 :自動化的網絡性能監控,跟蹤頁面所有資源加載情況并可簡便的將輸出結果格式化為標準HAR格式。
- 頁面性能監控 :自動化的頁面渲染監控,可獲取 CPU、 內存使用情況數據,根據頁面整體情況可簡便的輸出首次渲染時間、首屏渲染時間等關鍵數據。
工具特性
- 跨平臺性 :基于 Qt 開發,可跨平臺編譯,部署。內置基于 QtWebkit 的瀏覽器環境。源碼需在目標系統中編譯后,可產生運行于 Windows / Linux / Mac 系統的可執行文件。
- 功能性 :工具內置 webkit 瀏覽器內核,可響應瀏覽器內核事件回調、支持發送鼠標消息給瀏覽器、包裝瀏覽器網絡請求數據為JS數據格式、可與瀏覽器內JS做數據交互。
- 開放性 :工具將主要操作均包裝為JS語法與數據格式,采用JS語法包裝,前端工程師可根據API組裝出符合各自預期的檢測功能。
- 接口性 :工具本身支持命令行參數,可帶參調用。API支持處理外部進程讀取輸出流、支持HTTP發送數據。可由 WEB 程序遠程調用后獲取測試的返回結果。
- 標準性 :完全真實的瀏覽器環境內 DOM,CSS,JavaScript,Canvas,SVG 可供使用,絕無仿真模擬。
特點差異
與 PhantomJS 相比具有以下不同:
- API 簡易 : 更直接的 API,如獲取網絡性能數據,僅需 3 行代碼,而非 PhantomJS 的幾十行,且信息量比 PhantomJS 豐富。
- API 標準化 : 常用 API 均采用 W3 規范標準命名,事件處理代碼可重復綁定而不相互覆蓋,可以無縫兼容 Wind.JS 等異步流程處理庫來解決自動化時異步流程控制問題。
- 頁面性能信息豐富 :具有頁面渲染和 CPU、 內存使用情況數據獲取能力,可輸出首次渲染時間、首屏渲染時間等頁面性能關鍵數據。
- 調試便利 : 具有 GUI 界面與命令行狀態兩種形式,開發調試期可使用 GUI 模式定位問題,此模式中可開啟 WebKit 的 Inspector 工具輔助調試頁面代碼與 DOM 。實際運行時可開啟命令行狀態避免自動執行時 GUI 界面干擾。
應用企業
- 新浪微博 :已使用 berserkJS 構建前端性能監測數據分析平臺,防止微博主要產品在不停開發迭代時,頁面性能產生退化。
- Cisco : 用于 WebEx 項目的自動化測試
- 騰訊新聞 : 用于新聞看比賽頻道的自動化測試需求覆蓋,方便項目重構。
API 頁面
- 詳情請看文檔頁 : http://tapir-dream.github.com/berserkJS
介紹PPT
如何使用
Windows
- 直接執行源碼包下 build\release\berserkJS.exe
Mac
- 下載并安裝 Qt libraries 4.8.5 for Mac
- 執行源碼包下 build\mac_64\berserkJS
【官網地址】 http://qt-project.org/downloads
【立即下載】 http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-opensource-mac-4.8.6-1.dmg
-
如果需要自己編譯則步驟如下:
- 下載如上Qt 4.8 依賴庫并安裝
- 在 src 目錄下執行 qmake berserkjs.pro -spce macx-xcode 命令生成 xcode 工程文件
- 使用 xcode 開啟工程文件執行編譯
Linux
- 下載 Qt libraries 4.8.5 for Linux/X11
- 確定系統內存在 X11 lib,否則請使用 yum 等工具安裝依賴
- 如果需要在純命令行下使用,請使用yum 等工具安裝 Xvfb 來模擬 X11 環境。
- 解壓 Qt libraries 4.8.5 for Linux/X11,并進入目錄
- 執行 ./configure
- 執行 make
- 執行 install
- 進入 berserkjs 源碼包的 src 目錄
- 執行 qmark berserkjs.pro
- 執行 mark 后可編譯出 berserkJS 的可執行文件
- 執行 berserkJS
LICENCE
- 采用 BSD 開源協議,細節請閱讀項目中的 LICENSE.BSD 文件內容。
</ul> </div>
本文由用戶 JewShippee 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!