【问题标题】:High response times with Ajax True Client scriptAjax True Client 脚本的高响应时间
【发布时间】:2018-04-09 13:27:53
【问题描述】:

我们正面临 Ajax True Client 脚本的问题。录制和回放脚本时。一项事务的加载时间超过 60 秒。在控制器中执行场景后也观察到相同的行为。但是,如果我们手动执行相同的事务,只需要 8 秒。预期响应时间之间存在巨大差距。任何人都可以建议解决方法吗?

【问题讨论】:

  • 如果没有mcve,没有实现描述,我们应该如何提供帮助?
  • 如果没有更多细节就很难分析。尝试检查您的步骤(和交易)结束事件。如果存在指示事务结束的特定元素,建议等待该对象。

标签: performance-testing loadrunner


【解决方案1】:

发生这种情况是因为脚本尝试下载外部资源,当您手动浏览页面时,您看不到这些资源。

例如,如果页面向 Google Analytics 或 Facebook 请求数据,但无法访问这些站点(由于公司限制、防火墙等),响应时间会跳到 60 秒(超时),但当您手动浏览,您不会遇到超时,因为浏览器的行为不同。

要解决此问题,您应该首先找出脚本试图从哪个站点下载数据?您可以使用浏览器的开发者工具(例如 Google Chrome 中的 F12 工具)并查看“Network”标签来执行此操作。使用此选项卡并浏览到网页后,您应该会看到外部 HTTP 请求。列出这些网站。

一旦您知道该页面转到哪些外部站点,您就可以在您的 TruClient 脚本中使用Utils.removeAutoFilter JS 命令:

从 Truclient 工具箱中,选择“Misc” > “评估 Javascript 代码”并将其添加到脚本的第一行

那么你可以将这个action中的JS代码设置为:

Utils.removeAutoFilter(url, isIncluded);

例如,防止脚本从 facebook 下载数据:

Utils.removeAutoFilter('http://facebook.com', true);
Utils.removeAutoFilter('https://facebook.com', true);
Utils.removeAutoFilter('http://www.facebook.com', true);
Utils.removeAutoFilter('https://www.facebook.com', true);

【讨论】:

  • 非常感谢您提供的信息..:) 我会尝试这种方式。
猜你喜欢
  • 2018-05-21
  • 2012-06-11
  • 1970-01-01
  • 1970-01-01
  • 2016-05-03
  • 1970-01-01
  • 1970-01-01
  • 2011-01-02
  • 2015-06-27
相关资源
最近更新 更多