使用Ajax True Client脚本

时间:2018-04-09 13:27:54

标签: performance-testing loadrunner

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

1 个答案:

答案 0 :(得分:0)

这是因为脚本的外部资源下载尝试,当您手动浏览页面时,您无法看到这些内容。

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

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

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

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

然后,您可以将此操作中的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);