如何在浏览器中对代码进行性能测试

How to performance test code in a browser

本文关键字:代码 性能测试 浏览器      更新时间:2023-09-26

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

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

我一直在考虑使用pageloaded事件,或者(考虑到我使用的是JQuery)让Selenium进行测试,以查看所有AJAX调用是否已经完成。然而,这些事件可以(而且确实)触发我试图监控的JavaScript!

有人知道检测所有JavaScript何时完成的机制吗?

感谢

如果只想执行一些统计数据,可以使用Speed Tracer。"Speed Tracer is a tool to help you identify and fix performance problems in your web applications."

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

waitForElementPresent(locator)

如果您的元素已经加载,并且您只是填写数据,那么您可以始终强制在主体的末尾添加一个新元素。

$.ajax({
  type: "POST",
  data: {data: somedata },
  url: someurl,
  success: function(html){
    $("<div/>", {
      id: 'finnishedId',
    }).appendTo("body");
  } 
});