什麼bug?bug什麼?咋肥四?
這是我司一個客戶端軟件,此處是將業務系統網頁上的圖表截圖,放入客戶端頁面裏。
你也看到了,這圖,,白了。而在頁面上的這貨呢?
生龍活虎,有蹦有跳,可大可小。那麼問題來了,它經歷了什麼?
bug圖的奇幻漂流的,,,還原:
首先,we have a phantomjs , we have a page ,呃♂!screenshot!
沒錯,客戶端通過調用phantomjs將圖表的頁面截下來
但是phantomjs如果直接看她(圖表頁)會被壯漢(login)攔下,
所以,我們爲了成全phantomjs給壯漢偷偷弄了個綠……sso頁,
最初,我懷疑是phantomjs訪問的 sso頁面 有問題。
然後我就找他對了個峙:
我想了想,phantom這孩子怎麼就沒看到呢,我都看到了鴨?
然後我去問了問phantom他咋肥四:
咦?他說妹子找不到衣服了所以沒出來?
然鵝
於是,我去找了下,這個叫做showMchart的衣服在哪:
那麼這個衣服誰提供的呢?
在這,那麼爲啥就沒給出去呢?我王某人懷疑這傢伙根本沒出門!於是我加了這麼一段:
又教phantomjs做這麼個事:
去吧!phantom!於是:
哎?咋啥也沒有呢?這衣服供應商(viewmquadrant.js)根本沒工作啊?
然後我看了看是誰找的這一家:
emmm,竟然還是自動找的,(話說原來還都是沒有這麼多 金三月半 代碼的,咋突然就多了……sigh)
那麼這塊找到的是啥呢?
看起來彷彿沒問題啊?難不成是phantom這孩子去看的時候發生了啥?
然後我準備debug phantom,於是我在叫這孩子的時候加了一段口訣:
--remote-debugger-port=9000
然後扒開這孩子的腦子
然後我在Console裏敲下了__run();+Enter
換行了?說好的運行到Breakpoint呢?於是stackoverflow了一下
我又試了下:
我決定放棄,這孩子腦子不太好使=-=
然後我發現了這個
哦豁,VSC賽高!配置如下:
然後開始愉快的de他!
我們在open之後evaluate之前打個斷點,然後看看這個page裏有沒有加載那個js的script節點
我發現這樣不行。然後決定在源代碼裏寫log,運行結果如下
這不是有麼?明明正常瀏覽器上沒問題,這孩子也加載了js,怎麼就看不到了呢?
於是我懷疑是延時問題,那麼讓我們來等他反應一會:給個5秒。
結果喜(xi)大(wen)普(le)奔(jian):
還是白的
那麼問題來了,與這個圖類似的圖呢?viewChart是個通用的頁,別的小夥伴也通過它來看圖啊
所以我找到了動態散點圖
Owww……這圖就沒問題,尤其對比底層builder之後發現,這倆圖,高度一致!
那麼問題來了:歪?
於是,我開着vsc準備對比一下
好像發現了那裏不對……
唔姆唔姆,給你們標個特寫
對,罪魁禍首是個逗號菌!
完。