我在查看this paper,他們使用HTMLUnit來「測量可用於定義新字符串的JavaScript函數的調用次數(如子字符串和fromCharCode)以及字符串使用的次數(如寫操作和eval調用)。「如何測量定義新字符串的JavaScript函數的數量
我是HTMLUnit的新手,我似乎無法弄清楚如何直接看到網站正在使用的功能,並計算哪些是子串,eval等?這究竟是如何完成的?
我在查看this paper,他們使用HTMLUnit來「測量可用於定義新字符串的JavaScript函數的調用次數(如子字符串和fromCharCode)以及字符串使用的次數(如寫操作和eval調用)。「如何測量定義新字符串的JavaScript函數的數量
我是HTMLUnit的新手,我似乎無法弄清楚如何直接看到網站正在使用的功能,並計算哪些是子串,eval等?這究竟是如何完成的?
最簡單的方法是monkeypatch所有的本地電話。例如:
const original = String.fromCharCode;
String.fromCharCode = function(...args) {
console.log('creating new string');
return original.apply(this, args);
}
console.log(String.fromCharCode(65, 66, 67));
這可以讓你保持原有功能的同時,還允許您跟蹤這是怎麼回事的。雖然更復雜,但可以應用(無雙關語)eval
和任何其他本地電話。
如果您還想監視任何DOM更改,則可以使用MutationObservers。
它可能是最簡單的方法,但肯定不是最簡單的方法,它沒有覆蓋範圍。 –
有沒有其他的解決方案,@AhmedMasud? –
@Nit,我仍然對我們如何在這裏使用htmlunit感到困惑。對不起,我還是新來的api。謝謝。 –
嗨,從它的外觀來看,他們使用HTMLUnit作爲開發jsand的起點。 HtmlUnit爲您提供掛鉤功能,然後您可以編寫處理程序以收集它們饋送到ML中的度量標準 –
特別是您可以看到http://htmlunit.sourceforge.net/apidocs/支持的所有* \ * Handlers *在構建測試時從那裏出發 –
@Ahmed Masud我很困惑,我將如何使用它們提供的處理程序來檢測Substring調用等。 –