性能测试 - 如何在 Javascript 中捕获用户操作中消耗的时间
performance testing - How to capture time consumed in a user action in Javascript?
在使用 ExtJs 创建的 RIA 应用程序中,我们需要捕获用户操作所消耗的时间。
例如,用户单击"打开"按钮打开窗口,则需要捕获打开窗口所花费的时间。
我们尝试使用Selenium IDE,但它只记录操作并执行它们,并且不记录命令中消耗的时间。
我们还尝试使用浏览器的"分析器"功能(在操作前开始分析,在操作结束后停止分析),但这是手动的。
因此,有人可以指导 - 如何以自动方式捕获 Javascript 中的用户操作所花费的时间?
提前感谢您的任何帮助。
这是一个全局事件跟踪函数的粗略草图:
(function() {
var pairs = {};
eventLogger = function(e) {
var ts = new Date().getTime();
if (pairs[e]) {
var taken = ts - pairs[e],
img = new Image();
img.onload = function() { };
img.src = '/path/to/logger?evt=' + encodeURIComponent(e) + '&t=' + encodeURIComponent(taken);
delete pairs[e];
} else {
pairs[e] = ts;
}
}
}());
它匹配事件名称对;第一个启动计时器,第二个发出服务器请求以记录该事件所花费的时间。
然后,您将记录如下事件:
eventLogger('loadContacts');
// start code that loads contacts
// ...
// later
eventLogger('loadContacts'); // done loading
它不区分开始和停止事件,因此,如果开始和停止时间可能重叠,则可能需要进行一些调整。
相关文章:
- 如何使用Ajax调用特定的控制器和操作来重定向用户
- 在Google Analytics中跟踪用户,但只能在两个操作之间跟踪
- 从表单中获取用户输入执行计算(操作顺序)并输出回该表单
- 允许我在用户操作后隐藏YouTube视频吗
- reactJs redux:如何对用户事件调度操作并将操作与化简器和存储链接
- 在用户操作时重置 i18next
- 如何通过 html 正文中的脚本区分用户操作和操作
- 根据当前用户启用“自定义操作”按钮
- 根据用户点击的内容进行不同的操作
- 如何在用户到达iframe分区末尾时显示操作按钮
- 带有所有用户操作的业务逻辑的Javascript配置文件
- 如何获取用户操作
- php使用ajax生成html表,以应用用户操作,如删除、更新和编辑
- 如何解析用户对象以返回屏幕名称并继续下一步操作
- 根据用户在asp.net网站中选择的弹出窗口使用JavaScript操作网页
- 检测被用户操作中断的 Ajax 请求
- 如何在对用户控件执行操作后调用 Web 服务
- 如何使用MongoDB在MeteorJs中存储用户操作
- 使用内置的 like 操作 (og.likes) 检查当前用户是否喜欢某个 URL
- 操作用户's选定的文本在editMode