当前位置: 首页 > 知识库问答 >
问题:

将 AJAX 脚本与千兆以太网一起使用

庄高谊
2023-03-14

我目前正在为一个内部Java网站创建测试样本,使用Jeter进行性能测试。

在创建/记录一些脚本并重新运行它们之后,我发现一些脚本失败了(不是HTTP失败,响应代码是200,所以它是一个成功的HTTP响应,但看起来像服务器端失败),错误是“发生意外错误,页面关闭”。即使为此应用程序启用了高跟踪,我也无法找出确切原因。

我发现这个网站对我收集的每个样本(或者大部分样本)都使用了大量的AJAX请求,并且这些样本都以“.”结尾。js”。关于Jmeter的这个问题,我在google上搜索了很多,发现Jmeter不能运行Javascripts,因为它不是一个浏览器。

很公平,我浏览了一些更多的细节,并阅读了许多关于使用Selenium网络驱动程序来运行java脚本并可以与jeter一起使用来解决这个问题的解决方案。但是他们都没有谈到运行javascript(或Ajax脚本)的网络驱动程序的确切实现,也没有谈到让Jeter运行HTTPS示例。

我的问题有两个方面:

1) 否则我如何调试Jmeter脚本以确认这些错误是由Ajax脚本引起的,而不是其他原因。如果不是Ajax问题,那么是什么原因导致了这个“页面关闭错误”

2) 以及如何在相同的测试脚本中运行Java脚本的web驱动程序和运行http样本的JMeter?

非常感谢任何相关文档的帮助或提示。目前,我完全陷入了困境,没有任何我可以通过阅读手册找到的解决方案。

共有1个答案

施兴言
2023-03-14

事实上,您有两个选择:

  1. 使用 Web 驱动程序采样器执行实际的浏览器测试(这可能是非常占用资源,因为实际的浏览器会消耗大量的 CPU 和 RAM)
  2. 使用千兆易达执行 AJAX 调用。JMeter无法执行 JavaScript,但可以使用 HTTP(S) 测试脚本记录器来记录 JavaScript 驱动的 HTTP 请求,并将其重播为 JMeter HTTP 请求采样器。您需要应用一些自定义配置才能并行执行 AJAX 请求,有关详细信息,请参阅如何使用 JMeter 对启用了 AJAX/XHR 的站点进行负载测试一文。
 类似资料:
  • 问题内容: 方案:各种文件的大小以字节为单位存储在数据库中。将大小信息格式化为千字节,兆字节和千兆字节的最佳方法是什么?例如,我有一个MP3,Ubuntu显示为“ 5.2 MB(5445632字节)”。如何在网页上将其显示为“ 5.2 MB”,并且文件大小小于1 MB的文件显示为KB,文件大小大于1 GB的文件显示为GB? 问题答案: (取自php.net,那里还有许多其他示例,但我最喜欢这个示例

  • 有没有什么简单的方法可以将千分尺计时器与网络流量控制器一起使用? 似乎@Timed只对非反应式方法有效。对于反应式,它记录非常低的时间值。 我发现了一个类似的问题:如何使用千分尺计时器记录异步方法的持续时间(返回单声道或通量),但对于这样一个常见的问题来说,答案太复杂了。 有什么想法吗?

  • 问题内容: 我有这样简单的ASP.NET MVC操作: 该有这样的验证特性: 在视图中,我正在使用以下助手: 如果我在将文本框置于验证中的表单上进行提交,则将首先在客户端上执行,然后在service()上完成。 现在我有几个问题: 可以将其与jQuery ajax提交一起使用吗?我正在做的就是简单地删除表单,然后单击“提交”按钮,javascript将收集数据,然后运行。 服务器端可以工作吗? 如

  • 问题内容: 在我的应用程序中,我需要通过ajax发布将javascript Array对象发送到php脚本。像这样: 数组的索引是字符串,而不是int,因此,诸如saveData.join(’&’)之类的东西不起作用。 有想法吗? 提前致谢 问题答案: 如果不是数组,则不要使其成为数组,而应将其作为对象: 以与Arrays相同的方式进行操作只是利用Javascript对Arrays的处理方式,而不

  • 问题内容: 是否可以使用Node.js在服务器端使用jQuery选择器/ DOM操作? 问题答案: 似乎有一个重大更新,导致原来的答案不再起作用。我找到了这个答案,解释了现在如何使用。我已经在下面复制了相关代码。 注意:原始答案没有提及你还需要使用安装

  • 我需要一些目前在JavaFX中找不到的功能。比如机器人或托盘图标。 我知道这些工具确实适用于JavaFx应用程序。但是可以使用它们吗?有什么需要我考虑的吗?