<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          berserkJS前端網(wǎng)絡(luò)(性能)監(jiān)測(cè)工具

          聯(lián)合創(chuàng)作 · 2023-10-01 20:38

          berserkJS 是基于 Qt (C++跨平臺(tái)庫(kù))開(kāi)發(fā)的前端網(wǎng)絡(luò)(性能)監(jiān)測(cè)工具。 它的核心功能是通過(guò)內(nèi)置 webkit 收集由頁(yè)面實(shí)際網(wǎng)絡(luò)請(qǐng)求相關(guān)數(shù)據(jù)。 偏重于頁(yè)面上線(xiàn)前檢測(cè)與評(píng)估。

          頁(yè)面性能分析工具,可用 JS 編寫(xiě)自己的檢測(cè)、分析規(guī)則。 基于 Qt 開(kāi)發(fā),可跨平臺(tái)編譯,部署。內(nèi)置基于 QtWebkit 的瀏覽器環(huán)境。 源碼需在目標(biāo)系統(tǒng)中編譯后,可產(chǎn)生運(yùn)行于 Windows / Linux / Mac 系統(tǒng)的可執(zhí)行文件。 工程中自帶 Window 系統(tǒng)中動(dòng)態(tài)編譯的可執(zhí)行文件,此文件位于 bulid 目錄下。

          使用案例

          • 無(wú)界面瀏覽器測(cè)試:在不依賴(lài)本地任何瀏覽器的情況下,運(yùn)行測(cè)試框架,如 QUnit,Capybara, QUnit, Mocha, WebDriver, YUI Test, BusterJS, FuncUnit, Robot Framework 等。

          • 頁(yè)面自動(dòng)化:可以無(wú)障礙訪(fǎng)問(wèn)和操作網(wǎng)頁(yè)的標(biāo)準(zhǔn) DOM API 以及頁(yè)面所用 JS 變量、對(duì)象、屬性等內(nèi)容。

          • 屏幕捕獲:以編程方式獲取網(wǎng)頁(yè)全部或部分內(nèi)容,可根據(jù) Selector 截取指定 DOM 元素渲染情況;包括 CSS,SVG 和 Canvas??蓪⒔厝D片 base64 化,以便發(fā)送給遠(yuǎn)端服務(wù)器保存。

          • 網(wǎng)絡(luò)監(jiān)控:自動(dòng)化的網(wǎng)絡(luò)性能監(jiān)控,跟蹤頁(yè)面所有資源加載情況并可簡(jiǎn)便的將輸出結(jié)果格式化為標(biāo)準(zhǔn)HAR格式。

          • 頁(yè)面性能監(jiān)控:自動(dòng)化的頁(yè)面渲染監(jiān)控,可獲取 CPU、 內(nèi)存使用情況數(shù)據(jù),根據(jù)頁(yè)面整體情況可簡(jiǎn)便的輸出首次渲染時(shí)間、首屏渲染時(shí)間等關(guān)鍵數(shù)據(jù)。

          工具特性

          • 跨平臺(tái)性:基于 Qt 開(kāi)發(fā),可跨平臺(tái)編譯,部署。內(nèi)置基于 QtWebkit 的瀏覽器環(huán)境。源碼需在目標(biāo)系統(tǒng)中編譯后,可產(chǎn)生運(yùn)行于 Windows / Linux / Mac 系統(tǒng)的可執(zhí)行文件。

          • 功能性:工具內(nèi)置 webkit 瀏覽器內(nèi)核,可響應(yīng)瀏覽器內(nèi)核事件回調(diào)、支持發(fā)送鼠標(biāo)消息給瀏覽器、包裝瀏覽器網(wǎng)絡(luò)請(qǐng)求數(shù)據(jù)為JS數(shù)據(jù)格式、可與瀏覽器內(nèi)JS做數(shù)據(jù)交互。

          • 開(kāi)放性:工具將主要操作均包裝為JS語(yǔ)法與數(shù)據(jù)格式,采用JS語(yǔ)法包裝,前端工程師可根據(jù)API組裝出符合各自預(yù)期的檢測(cè)功能。

          • 接口性:工具本身支持命令行參數(shù),可帶參調(diào)用。API支持處理外部進(jìn)程讀取輸出流、支持HTTP發(fā)送數(shù)據(jù)??捎?WEB 程序遠(yuǎn)程調(diào)用后獲取測(cè)試的返回結(jié)果。

          • 標(biāo)準(zhǔn)性:完全真實(shí)的瀏覽器環(huán)境內(nèi) DOM,CSS,JavaScript,Canvas,SVG 可供使用,絕無(wú)仿真模擬。

          特點(diǎn)差異

          PhantomJS 相比具有以下不同:

          • API 簡(jiǎn)易: 更直接的 API,如獲取網(wǎng)絡(luò)性能數(shù)據(jù),僅需 3 行代碼,而非 PhantomJS 的幾十行,且信息量比 PhantomJS 豐富。

          • API 標(biāo)準(zhǔn)化: 常用 API 均采用 W3 規(guī)范標(biāo)準(zhǔn)命名,事件處理代碼可重復(fù)綁定而不相互覆蓋,可以無(wú)縫兼容 Wind.JS 等異步流程處理庫(kù)來(lái)解決自動(dòng)化時(shí)異步流程控制問(wèn)題。

          • 頁(yè)面性能信息豐富:具有頁(yè)面渲染和 CPU、 內(nèi)存使用情況數(shù)據(jù)獲取能力,可輸出首次渲染時(shí)間、首屏渲染時(shí)間等頁(yè)面性能關(guān)鍵數(shù)據(jù)。

          • 調(diào)試便利: 具有 GUI 界面與命令行狀態(tài)兩種形式,開(kāi)發(fā)調(diào)試期可使用 GUI 模式定位問(wèn)題,此模式中可開(kāi)啟 WebKit 的 Inspector 工具輔助調(diào)試頁(yè)面代碼與 DOM 。實(shí)際運(yùn)行時(shí)可開(kāi)啟命令行狀態(tài)避免自動(dòng)執(zhí)行時(shí) GUI 界面干擾。

          應(yīng)用企業(yè)

          • 新浪微博:已使用 berserkJS 構(gòu)建前端性能監(jiān)測(cè)數(shù)據(jù)分析平臺(tái),防止微博主要產(chǎn)品在不停開(kāi)發(fā)迭代時(shí),頁(yè)面性能產(chǎn)生退化。

          • Cisco: 用于 WebEx 項(xiàng)目的自動(dòng)化測(cè)試

          瀏覽 26
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  一区二区三区四区五区六区在线 | 九一视频在线观看久久网 | 色啪av | 青青草成人免费在线视频 | 美穴在线观看 |