精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

vivo 前端三劍客發展歷程及原理揭秘

開發 前端
異地協作模式,給開發和測試間的問題溝通及定位帶來了諸多挑戰。本文從前端開發視角出發, 闡述在這過程中遇到的痛點,探索解決的思路,并在過程中成功孵化出技術工具“前端三劍客”,文章深入解析了“前端三劍客”技術的實現原理及應用場景。

01、背景

隨著公司業務的不斷發展,異地協作成為一種常態,距離無疑給我們的溝通帶來了很多不便,尤其是給問題反饋及解決增加了更多的成本,在這過程中我們遇到了很多痛點

痛點一:溝通效率低

開發和測試只能通過消息或者電話進行溝通,為了將問題描述清晰,雙方需要反復交流,有時還需提供錄屏、截圖以及抓包等信息,整個過程耗時長、效率低。

痛點二:復現難、定位難

經常會出現一些問題,開發在本地無法復現,需要使用特定的手機進行復現、解決。

痛點三:抓包協作難

分析問題時,經常需要抓包,但是目前主流的抓包工具都是1對1,對于異地實時抓包不是很方便,而且分享抓包內容也比較繁瑣,無法在線實時查看。

為解決這些問題,我們基于開源工具與自研技術棧,孵化出前端三劍客

  • 利劍一:錄制回放工具 - 讓溝通更簡單
  • 利劍二:遠程調試工具 - 像本地調試一樣調試遠程機器
  • 利劍三:WEB多人抓包代理工具 - 在線抓包,更簡單、更實時、更便捷

這是一套覆蓋問題復現、遠程調試、便捷抓包的一整套解決方案,助力開發人員快速、精準地分享解決問題。

02、利劍一:錄制回放工具

2.1 工具介紹

對于前端開發而言,和測試溝通問題時,問的最多的幾個問題:

  • 你是怎么操作的?
  • 控制臺有什么報錯嗎?
  • 抓個包給我看下接口請求數據吧?

總結歸納起來就是以下三點:

基于以上的述求,我們基于開源框架rrweb,實現了從前臺接入管理、后臺回放管理及權限管控的一站式錄制回放平臺,接入簡單,一鍵便可錄制宿主信息、操作過程、接口信息、日志信息等數據。

錄制過程

接入錄制回放工具后,頁面會出現一個懸浮球,用于開啟和提交錄制信息,錄制完成后,會生成在線回放地址。錄制過程如下圖所示:

回放過程

錄制成功后,后臺管理系統中便能查詢到該條錄制信息,點擊回放,可以看到該問題的操作過程,以及瀏覽器信息、接口信息、日志信息等數據,如下圖所示:

整個操作的流程如下圖:

2.2 接入方式

我們提供了一個在線sdk,用戶只需引入該js文件,進行初始化即可使用:

2.3 實現原理

記錄頁面 DOM 變化

錄制過程:

在初始化時使用document.cloneNode(true) 方獲取頁面的全量 DOM 快照,之后通過 Mutation- Observer 監聽器監控頁面的各種變化,如 DOM 的增刪改、鼠標移動、滾動以及頁面大小調整等,當這些變化發生時,會將變化信息序列化為 JSON 格式的數據并存儲起來。

回放過程:讀取記錄的 JSON 數據,解析出頁面的初始快照以及各個操作事件的時間序列,根據初始快照重建頁面的 DOM 樹,然后按照事件的時間順序逐步應用每個操作事件。

接口錄制

通過對全局XMLHttpRequest進行重寫進行接口的攔截處理。

日志錄制

通過對全局console.log進行重寫。

2.4 遇到的問題

問題1:跨頁面錄制

我們是通過在index.html中引入sdk,對于單頁應用,切換路由時,錄制可以連貫的銜接上,但是當遇到多頁面的應用時,切換頁面,會重新加載sdk,這樣數據就會丟失,無法進行銜接,所以我們需要在切換頁面時將錄制數據存在本地,進入下一個頁面時,獲取這些數據進行合并,如下圖:

問題2:iframe頁面無法錄制

對于很多后臺的項目,可能存在很多iframe嵌入的子項目,如果iframe中的內容與父頁面不在同一個域下,為了能夠正常錄制iframe中的內容,需要進行跨域處理,在iframe的頁面中也嵌入sdk,并設置相應的跨域屬性,記錄數據,并通過iframe.content-Window.postMessage來同步數據到主頁面中。

03、利劍二:遠程調試工具

3.1 工具介紹

遠程調試工具是基于開源工具chii進行二次封裝,相較于vConsole,chii讓跨設備、跨網絡的Web應用調試變得簡單便捷。通過遠程連接的方式,像本地數據線連接手機一樣,在本地的chrome Devtools中進行問題定位,實現和在chrome://inspect中一樣的設備調試效果。遠程調試工具很好的解決了開發因為本地無法復現,需要測試同學手上特定機器才能復現的問題,同時可以在遠程看到頁面實時運行的日志、接口等信息,大大提升問題定位效率。

下面是整個操作步驟:

第一步:如下圖,點擊頁面中的懸浮球,出現遠程調試按鈕,點擊可以開啟遠程調試。

第二步:在管理平臺的遠程列表中可以看到所有連接的設備。

第三步:遠程查看,點擊上一步驟中的inspect按鈕,可以進入如下調試頁面。

第四步:雙向操作同步

在手機執行操作,遠程界面同步發生變化,實時顯示請求和日志,同樣如果遠程修改樣式或者執行操作,手機端也會同步執行相同操作。

3.2 接入方式

3.3 實現原理

遠程調試工具主要包括三個部分:客戶端,中轉服務,遠程調試端(devtools)。

它們的運轉模式如下圖:

第一步:啟動一個node服務作為中轉服務器,然后創建webSocket服務用來連接客戶端和遠程調試端。

第二步:在客戶端需要調試的網頁中注入target.js 腳本,該腳本會創建 WebSocket 連接,通過訂閱發布來監聽DOM、Log、Network、Css、Storage、Debug等相關操作指令。

第三步:遠程調試界面通過CDP(Chrome DevTools Protocol)協議來和服務進行通信,當執行控制模板某項操作時,比如點擊DevTools中的“Elements”面板來檢查頁面元素,DevTools會通過CDP向服務發送一個命令,請求DOM樹信息,服務接收到這個命令后,通過渲染進程查詢具體的DOM信息,并將結果返回給DevTools,DevTools前端再將這些信息可視化呈現給開發者。

04、利劍三:WEB多人抓包代理工具

4.1 工具介紹

工作中經常需要抓包、代理等操作,主流的抓包工具有:Charles、Fiddler等,這些工具都必須安裝客戶端,且都是1對1的,對多人協助不是很友好。比如:開發需要獲取測試同學的的抓包信息分析問題時,目前都是測試同學把報文導出來,發給開發,開發再去導入到工具里面進行分析。

在此背景下,我們就在思考,能否實現一個在線的抓包、代理平臺,讓大家使用方便、分享方便,降低門檻。于是就有了這款工具的誕生,工具是基于mitmproxy進行了二次開發,容器化部署了一套在線代理服務,只需通過瀏覽器就能實現抓包、代理等操作。

該在線抓包工具具備如下優勢

  • 簡單: 無需安裝客戶端,有瀏覽器就能使用,易上手。
  • 方便: 直接在瀏覽器中進行抓包,而且可通過鏈接分享給他人。
  • 易用: 支持斷點、修改報文,集成了錄制回放工具、遠程調試工具,且支持開發、測試、線上環境任意切換。

4.2 使用簡介

設置代理

用戶可以通過手機安裝的App掃描頁面上二維碼,建立連接,也可以直接在手機WIFI代理設置中輸入固定的代理IP和端口號。

抓包、代理

代理成功后,自動跳轉到抓包頁面,頁面中會顯示當前設備,也支持新增設備,可以同時對多個設備進行抓包、代理。并且支持對報文的篡改及環境的代理。

工具注入

我們還在抓包工具中集成了上面的錄制回放工具和遠程調試工具,只需要打開開關,便會去識別入口html,動態注入工具的sdk,并進行初始化,這樣用戶再次刷新頁面時,頁面中便會出現工具的懸浮球。

環境切換

工作中還涉及到一個場景,在產品和UI驗收時,由于驗收環境都是在測試環境,需要配置host,對于產品和UI同學來講,環境的配置其實是比較陌生的,為了方便驗收,我們提供了一鍵切換環境的能力。用戶只需要在頁面上選擇自己的項目,然后開啟對應的環境,這樣手機環境便能切換過來。

4.3 實現原理

在mitmproxy基礎上,根據設備ip對攔截的請求進行分類,當用戶查看抓包數據時,通過ip進行過濾,這樣就可以只看到自己ip的抓包數據。

4.4 問題解決

4.4.1 如何實現1對N

既然是在線抓包服務,那每個人肯定都是獨立的,不能相互影響,如何讓1個代理服務支持多人操作就成了問題。

解決方案:

  • 用戶連接代理后,代理服務器可以獲取到用戶的IP地址,根據IP地址分別進行分發及報文存儲。
  • 前臺查詢時,終端ip地址作為入參,便只會查詢當前ip相關的抓包信息。
  • 前臺修改報文、環境等信息時,代理服務器會根據ip分別存儲修改后的信息。

4.4.2 性能問題

多人在線抓包時,報文數據量非常大,幾十萬甚至上百萬條,而且單條報文數據量也非常的大,包括:請求頭、響應頭、響應內容等等,所以如何快速查詢及展示就成了問題。

解決方案:

  • 采用虛擬滾動列表,提升頁面流暢性。
  • 優化報文結構,列表只返回固定的幾個字段,等點擊時再去查詢報文詳情。
  • 優化后,即使上萬條報文也能很快返回,用戶操作也不會卡頓。
// 報文結構
[{
    "id": "ccae12b0-a4f9-4379-98df-03360b6a3912",
    "s": 200,
    "m": "POST",
    "u": "https://bbs.vivo.com.cn/",
    "z": 649,
    "b": 1742888674.46417,
    "e": 1742888674.51759
  },
  ...
]

05、總結

整體回顧下,本文主要介紹了開發同學在項目中遇到的問題定位、溝通等痛點,通過對痛點的拆解和思考,孵化出三個在前端項目中提升效率的工具:

  • 錄制回放:精準還原問題出現的場景,提供分析問題所需的必要數據(環境、日志、抓包、操作過程等),提升解決問題的效率。
  • 遠程調試:遠程直連真機進行調試,快速解決特定機型的問題。
  • 多人抓包:讓抓包變的更加便捷,在線即可完成,極大地提高了團隊在抓包調試工作中的協作效率。
責任編輯:龐桂玉 來源: vivo互聯網技術
相關推薦

2011-03-28 16:04:44

nagios

2009-02-12 09:12:27

JPAEJBJSF

2010-02-04 16:22:21

2019-06-27 10:06:54

Linux 性能工具

2019-08-20 14:29:45

grepsedawk

2021-05-13 10:25:29

Linuxgrep命令

2023-10-04 00:20:31

grepLinux

2009-02-26 18:22:49

桌面虛擬化Linux

2024-06-04 00:20:00

Python函數

2017-07-25 08:53:14

CorrectLinkCCA-SD算法

2014-12-29 22:45:38

2011-08-06 23:58:34

愛普生投影機

2011-07-04 09:07:54

2011-04-11 11:01:03

AndroidHTC蘋果

2023-11-25 17:08:47

ChatbotLLAMALangChain

2009-03-19 20:52:58

LinuxPHPCMS

2025-04-22 09:39:46

Python爬蟲網頁數據抓取

2014-11-26 10:18:32

Cloud Setupwindows在線打包工具

2018-05-04 15:18:01

DockerDocker Comp容器

2021-03-15 07:39:48

LinuxAwk 語言
點贊
收藏

51CTO技術棧公眾號

欧美激情国产精品免费| 这里只有精品66| 在线精品免费视| 91蜜臀精品国产自偷在线| 678五月天丁香亚洲综合网| 自拍另类欧美| 色就是色亚洲色图| 麻豆成人av在线| 国语自产精品视频在线看| 97超碰在线资源| 国产一区二区三区精品在线观看 | 欧美videosex性欧美黑吊| 91最新地址在线播放| 91麻豆国产精品| 中文字幕在线播| 欧美日本不卡| 中文字幕日韩av| 免费黄色三级网站| 懂色av色香蕉一区二区蜜桃| 精品欧美aⅴ在线网站| 国产麻豆电影在线观看| 香蕉视频黄色片| 国产一区二区不卡老阿姨| 青青草国产精品一区二区| 91视频免费在线看| 日韩精品网站| 亚洲女人被黑人巨大进入al| 亚洲区 欧美区| 亚洲福利影视| 色噜噜狠狠成人网p站| 免费看日本黄色| 日本a在线免费观看| 三年中文高清在线观看第6集 | 日韩免费看网站| 黑森林精品导航| 亚洲黄色中文字幕| 亚洲自拍偷拍麻豆| 青青草原网站在线观看| 在线免费黄色| 亚洲国产成人在线| 免费久久久一本精品久久区| 丰满少妇被猛烈进入| 韩国女主播成人在线| 国产精品福利网站| 久久久黄色大片| 一区二区国产精品| 性色av一区二区三区红粉影视| 国产va在线播放| 午夜精品一区二区三区国产 | 欧洲国产精品| 丝袜视频国产在线播放| 国产成人三级在线观看| 成人羞羞国产免费| 国产精品-色哟哟| 九九视频精品免费| 91精品在线观看视频| 国产免费黄色网址| 国产成人综合亚洲网站| 99久久精品免费看国产一区二区三区| 国产精品高潮呻吟久久久| 激情综合五月婷婷| 亚洲一区二区三区xxx视频| 国产剧情久久久| 国产高清不卡一区| 国产在线一区二区三区播放| 视频一区二区在线播放| 久久亚洲一级片| 日本一区视频在线| 日本高清中文字幕在线| 亚洲欧美色一区| 国产freexxxx性播放麻豆| 1024在线看片你懂得| 精品国产乱码久久久久久天美| 337p粉嫩大胆噜噜噜鲁| 666av成人影院在线观看| 欧美三级乱人伦电影| 中文字幕第一页在线视频| 国产视频一区二区在线播放| 精品久久久久久久久久久久久久久 | 91在线播放观看| 在线 亚洲欧美在线综合一区| 性金发美女69hd大尺寸| 久久久久久亚洲av无码专区| 久久爱www久久做| 97超碰最新| 无码国产色欲xxxx视频| 国产农村妇女毛片精品久久麻豆 | 欧美v亚洲v| 精品久久久久久中文字幕一区奶水| 国产免费成人在线| 久草综合在线| 精品国产一二三| 韩国三级hd中文字幕| 亚洲激情五月| 欧美一级电影在线| 国产美女永久免费| 91免费观看视频| 日本丰满少妇黄大片在线观看| www欧美xxxx| 欧美综合一区二区| 亚洲成人福利视频| 日韩精品dvd| 96精品视频在线| 一起草av在线| 久久综合九色综合久久久精品综合| 曰韩不卡视频| 中文一区一区三区高中清不卡免费| 欧美日韩国产高清一区二区 | 日本一区二区三级电影在线观看| 精品久久免费观看| 欧美gay视频| 精品日韩成人av| 特黄一区二区三区| 国产精品社区| 成人h在线播放| 在线免费av电影| 日韩欧美国产一区二区| 少妇精品无码一区二区| 日韩一区二区中文| 国产mv久久久| 少妇一区二区三区四区| 亚洲视频小说图片| 黄色手机在线视频| 老汉色老汉首页av亚洲| 欧美成人精品三级在线观看| 在线播放国产一区| 91蜜桃在线免费视频| 国产freexxxx性播放麻豆| 麻豆视频久久| 久久影院模特热| 中文字幕人妻一区二区在线视频| 久久亚洲精精品中文字幕早川悠里| av一区二区三区免费观看| www.久久草.com| 丝袜情趣国产精品| 中文字幕你懂的| 日本一区二区成人在线| 黑鬼大战白妞高潮喷白浆| 亚洲精品亚洲人成在线观看| 久久久亚洲国产| 韩国中文字幕hd久久精品| 一区二区三区资源| 激情av中文字幕| 欧美日韩天堂| 成人欧美在线观看| jizzjizz亚洲| 日韩一区二区三区四区| 永久免费看黄网站| 成人一区在线观看| 黄色一级视频片| 日韩欧美天堂| 热99精品只有里视频精品| 青青国产在线| 在线影院国内精品| 欧美性受xxxx黑人| 久久超碰97人人做人人爱| 中文字幕日韩精品久久| 国产一精品一av一免费爽爽| 欧美国产在线电影| 日韩在线观看视频一区二区三区| 亚洲一区二区精品久久av| 国产av一区二区三区传媒| 91久久视频| 欧美在线播放一区| 九七电影院97理论片久久tvb| 久久久999精品| aaa一区二区三区| 亚洲成人动漫av| 美女爆乳18禁www久久久久久| 日韩激情一二三区| 精品一区二区成人免费视频| 试看120秒一区二区三区| 97在线看福利| 国产九色在线| 91精品国产综合久久精品麻豆| 唐朝av高清盛宴| 91免费精品国自产拍在线不卡| 国产精品少妇在线视频| 欧美高清视频手机在在线| 97netav| 深夜成人在线| 日韩在线观看高清| 欧美 日韩 国产 成人 在线 91 | 日韩av资源网| 国产成人av网址| 成人短视频在线| 精品一区二区三区电影| 中日精品一色哟哟| 亚洲动漫第一页| 欧洲美熟女乱又伦| 成人综合在线观看| 亚洲激情在线观看视频| 国产综合激情| 亚洲一区二区三区欧美| 国产精品毛片av| 国产一区玩具在线观看| 交100部在线观看| 美日韩丰满少妇在线观看| 日韩电影在线观看完整版| 欧美另类一区二区三区| 国产情侣自拍av| 亚洲欧美一区二区三区极速播放 | 色婷婷激情视频| 亚洲精品女人| 天天爱天天做天天操| 日韩高清影视在线观看| 亚洲最大的成人网| 成人va天堂| 欧美亚洲成人网| 日韩三级免费| 日韩在线精品一区| 色鬼7777久久| 亚洲第一中文字幕在线观看| 91久久精品国产91性色69| 欧美视频一二三| 欧美黄色一区二区三区| 中文字幕一区二区三区四区 | 亚洲成人一品| 风间由美一区二区三区| 亚洲国产天堂| 国产精品视频一区二区三区四| 免费v片在线观看| 欧美激情2020午夜免费观看| 福利视频在线| 日韩在线观看免费| 97视频在线观看网站| 亚洲精品一区二区三区不| 欧美特黄一级视频| 欧美sm美女调教| 午夜久久久久久久久久| 欧美一三区三区四区免费在线看| 中文字幕av第一页| 欧美在线一二三| 亚洲高清在线看| 91九色02白丝porn| 中文字幕精品视频在线观看| 色综合久久综合网欧美综合网 | 欧美亚洲国产一卡| 亚洲天堂一区在线| 色综合天天综合网天天看片| 久久久午夜影院| 偷拍日韩校园综合在线| 在线看成人av| 欧美午夜丰满在线18影院| 国产极品美女高潮无套嗷嗷叫酒店| 亚洲欧美国产三级| 精品一区在线观看视频| 亚洲激情自拍视频| 99精品久久久久| 亚洲夂夂婷婷色拍ww47| 免费在线一区二区三区| 亚洲国产va精品久久久不卡综合| 久草视频在线资源站| 亚洲综合色噜噜狠狠| 国产大片aaa| 欧美日韩亚洲成人| 亚洲欧美一区二区三区在线观看| 欧美性69xxxx肥| 无码人妻av一区二区三区波多野| 欧美在线观看禁18| 在线免费看av的网站| 欧美一区二区性放荡片| 丰满少妇一级片| 精品视频在线播放免| 阿v免费在线观看| 久久亚洲精品成人| 午夜dj在线观看高清视频完整版| 欧美激情一区二区三区在线视频观看| 678在线观看视频| 国产精品99蜜臀久久不卡二区| 精品国产黄a∨片高清在线| 亚洲一区二区三区四区在线播放| 91精品入口| 蜜桃av噜噜一区二区三区| 欧美精品乱码| 91九色国产ts另类人妖| 最新亚洲激情| 亚洲免费av一区二区三区| 国内一区二区视频| 超碰97在线资源站| 日本一区二区三级电影在线观看| 欧美做爰爽爽爽爽爽爽| 午夜伊人狠狠久久| 最近中文字幕免费观看| 日韩免费高清av| 免费在线观看一级毛片| 久久久精品2019中文字幕神马| 国产蜜臀一区二区打屁股调教| 日本久久久久亚洲中字幕| 国产亚洲欧美日韩精品一区二区三区| 91成人免费看| 欧美一二区在线观看| 国产在线xxxx| 日韩中文字幕区一区有砖一区| 一级做a爱视频| 久久人人爽爽爽人久久久| 欧美黄色aaa| 色天使色偷偷av一区二区| 亚洲第一视频在线播放| 亚洲天堂男人的天堂| 里番在线播放| 国产精品视频久久久久| 岛国精品一区| 制服国产精品| 免播放器亚洲| 妖精视频一区二区| 亚洲色图欧洲色图| 秋霞av一区二区三区| 精品久久久久久最新网址| 日韩黄色影院| 国产精品99久久久久久人 | 一本大道色婷婷在线| 亚洲一区久久久| 成人激情视频| 男人天堂网视频| 成人一级黄色片| 懂色av懂色av粉嫩av| 日韩av网站在线观看| 欧美激情视频给我| ririsao久久精品一区| 国产色视频一区| 性欧美xxxx免费岛国不卡电影| 国产精品无码电影在线观看 | 国产成年人视频网站| 2020国产成人综合网| 国产香蕉在线视频| 日韩精品一区二区三区中文不卡| 91短视频版在线观看www免费| 茄子视频成人在线| 欧美黄色网视频| 婷婷无套内射影院| 国产·精品毛片| 欧美激情一区二区视频| 欧美一二三在线| www.欧美日本韩国| 亚洲在线第一页| 亚洲欧美色图| 久久无码人妻一区二区三区| 亚洲人成人一区二区在线观看| 中文字幕乱码视频| 中文字幕日韩精品在线观看| 手机看片久久| 欧洲一区二区在线观看| 视频一区二区三区在线| 免费看污黄网站在线观看| 日韩欧美国产一区二区| 国产天堂在线| 国产精品日韩在线| 日韩精品免费一区二区在线观看 | 亚洲ww精品| 国产精品夜夜夜爽张柏芝| 国产自产2019最新不卡| 婷婷在线精品视频| 日韩欧美国产麻豆| 成年人视频免费在线播放| 国产乱子伦精品| 夜夜嗨av一区二区三区网站四季av| 欧美性生交xxxxx| 欧美日韩精品在线| 精品推荐蜜桃传媒| 国产伦精品免费视频| 亚洲成人99| 逼特逼视频在线观看| 激情久久av一区av二区av三区| 天天干免费视频| 国产91露脸中文字幕在线| 日本成人小视频| 久久久久久国产精品日本| 亚洲国产一二三| 你懂的视频在线观看| 国产日韩欧美中文在线播放| 亚洲国产精品成人| 精品一区二区三区四区五区六区| 欧美性xxxx18| 午夜视频在线观看网站| 热99在线视频| 91video| 欧美 日韩 国产 一区| 久久久久久美女| 无码人妻丰满熟妇奶水区码| 六月丁香综合在线视频| 亚洲a级在线播放观看| 日韩av免费观影| 国产精品国产精品国产专区不片| 免费日韩在线观看| 日本精品不卡| 亚洲第一av网| 国产美女喷水视频| 欧美gayvideo| 日本一区二区在线视频| 九色综合国产一区二区三区| 国产亚洲精品久久久久久无几年桃 | 色悠悠久久久久| 免费观看亚洲天堂| 日av中文字幕| 一区二区三区国产豹纹内裤在线| 欧美日韩视频精品二区| 亚洲一区二区久久久久久久| 久久先锋资源| 久久午夜鲁丝片午夜精品|