Javascript 如何在浏览器中测试代码的性能

Javascript 如何在浏览器中测试代码的性能,javascript,performance-testing,Javascript,Performance Testing,我有一个web应用程序,它执行一些AJAX调用,然后处理结果。根据发送到浏览器的内容,此处理可能相当繁重 现在,我想对完成的代码生成性能统计信息。我正在考虑使用Selemium自动化我的测试。这将允许我自动单击按钮开始测试,但我不知道如何检测代码何时完成 我一直在考虑使用pageloaded事件或(考虑到我正在使用JQuery)让Selenium进行测试,以确保所有AJAX调用都已完成。然而,这些事件可以(并且确实)触发我试图监视的JavaScript 有人知道一种机制可以检测所有JavaScr

我有一个web应用程序,它执行一些AJAX调用,然后处理结果。根据发送到浏览器的内容,此处理可能相当繁重

现在,我想对完成的代码生成性能统计信息。我正在考虑使用Selemium自动化我的测试。这将允许我自动单击按钮开始测试,但我不知道如何检测代码何时完成

我一直在考虑使用pageloaded事件或(考虑到我正在使用JQuery)让Selenium进行测试,以确保所有AJAX调用都已完成。然而,这些事件可以(并且确实)触发我试图监视的JavaScript

有人知道一种机制可以检测所有JavaScript何时完成吗


如果您只想执行一些您可以使用的统计信息,请多谢。“
Speed Tracer是一种帮助您识别和解决web应用程序性能问题的工具。

但如果您想做一些更具体的测试(压力、性能等),我建议您使用Selenium。您可以使用它在动态期间等待Ajax调用生成的所需元素

waitForElementPresent(locator)
如果您的元素已经加载,并且您只需填写数据,那么您总是可以强制在主体的末尾添加一个新元素

$.ajax({
  type: "POST",
  data: {data: somedata },
  url: someurl,
  success: function(html){
    $("<div/>", {
      id: 'finnishedId',
    }).appendTo("body");
  } 
});
$.ajax({
类型:“POST”,
数据:{data:somedata},
url:someurl,
成功:函数(html){
$("", {
id:'芬尼舍德',
}).附于(“主体”);
} 
});

您是否检查了Selenium?IE11具有“帮助开发人员诊断和修复性能问题的UI响应和内存分析工具”,因此这可能是您想要查看的内容,但这可能无法满足您的所有需求。@Carlos Barcelona。我确实看过selenium,但我能想到的最好办法是调用JQuery脚本“return$.active”。这将告诉我最后一个AJAX调用何时终止,但不会告诉我调用触发的JavaScript何时完成。“你有什么特别的想法吗?”杰克·莫里森。这看起来很有趣——它可能会让我了解浏览器内部的情况,但我需要把它自动化。Thanks@Stormcloud硒是非常强大的,我相信我们可以做到。你可以发布一些简化的代码,看看你到底在做什么吗?我明白了-而不是试图直接访问有关JavaScript解释器有多忙的信息,我们可以使用“FinnishDid”标记作为代理来指示处理已经完成。我想这应该能满足我的需要。谢谢