如何衡量定义新字符串的JavaScript函数的数量

时间:2017-09-20 23:53:09

标签: javascript htmlunit htmlunit-driver

我正在查看this paper,其中他们使用HTMLUnit来“测量可用于定义新字符串的JavaScript函数的调用次数(例如substring和fromCharCode),以及字符串的数量使用(例如写操作和eval调用)。“

我是HTMLUnit的新手,我似乎无法弄清楚如何直接看到网站正在使用的功能并计算哪些是子串,eval等?怎么可以做到这一点?

1 个答案:

答案 0 :(得分:1)

最简单的方法是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