有時候,看到用戶的反饋,我們往往會一臉茫然,因為反饋的信息太少了。
比如有用戶反饋登錄不了。為了解這個問題,一般的流程是這樣的:首先試試自己能不能登錄網站,發現沒問題;然后查看后台日志,發現最近沒有登錄接口相關的報錯;最后根據用戶反饋的時間,去后台查日志記錄。結果日志記錄沒有錯誤信息。
那這個問題沒法解決了!除非找出用戶的聯系信息,和他去聊聊這個bug。
這樣的情況很多,有時候及時有報錯信息,還是一臉蒙逼,不知道為啥呢。
是不是很蛋疼?
不過這個問題已經可以很好滴解決啦!Fundebug最近上線了一個新的大功能,叫做場景重現。其實直觀理解就是加了個視頻錄制,把用戶出錯前的行為習慣可視化的錄制,然后綁定到對應的錯誤上。通過觀看場景重現,可以直觀的去理解用戶是如何觸發錯誤的。如下面所示:
是不是很驚艷!不僅可以看到報錯相關信息,還可以看到用戶的操作視頻。
實例測試
為了驗證一下是否真的這么牛逼,我弄了一個簡單的網站來測試一下。
為了跟大家演示,我在Github上找了一個TodoMVC項目,這樣可以快速跑起來。
- 下載代碼
git clone https://github.com/isjingzhi/TodoMVC.git
- 安裝依賴
npm install
- 運行
npm run start
項目成功跑起來了,請看下圖:
接下里我需要將Fundebug的JavaScript監控插件接入,首先在Fundebug網站創建一個Vue的監控項目。
然后接入代碼,接入部分很多代碼,只能截圖一部分,不過還是比較簡單的,你只需要復制黏貼就可以了。
首先在index.html
中接入script腳本:
然后,在添加errorHandler代碼:
最后,我們再假裝造個錯試試,我在app.js
的clearAlldone
函數中,故意把this
改為that
:
來我們試試Fundebug能抓到怎樣的錯誤。
我隨意添加任務,然后又刪除任務,最后點擊右下角的Clear completed
,然后就收到報錯了。
基本的報錯堆棧信息都有
ReferenceError Uncaught ReferenceError: that is not defined at Vue.clearAlldone (http://localhost:3000/js/app.js:120:19) at invoker (http://localhost:3000/node_modules/vue/dist/vue.js:2029:18) at HTMLButtonElement.fn._withTask.fn._withTask (http://localhost:3000/node_modules/vue/dist/vue.js:1828:18)
現在我們來看看場景重現的效果:
鑒於是一段"視頻“,我再單獨放出來:
通過這段視頻,就可以很形象去理解用戶的操作流程!不得不說是一大神器!