请求是否应包含在手动浏览应用程序时发送的不必要参数

Should requests contain unnecessary parameters which are sent if manually browsing the application

我目前正在测试 asp.net 应用程序。我已经记录了我需要的所有步骤,并且我注意到,如果我删除了我随请求发送的一些参数,脚本仍然有效并且期望的结果仍然发生。无论如何,无论有无它们,我都找不到响应时间的差异,我想知道我是否可以删除那些不需要的参数,这是否会以任何方式影响性能?我知道执行脚本的最现实的方法应该是像普通用户那样执行(发送正常使用时发送的所有内容)但这真的会提高我的脚本的可读性,知道吗? 提前谢谢你,这是一张图片,显示了一些我可以删除的参数,脚本仍然有效这是来自文档管理系统,我正在执行的步骤并不像参数所说的那样指导文档,但是正常使用记录那些:

发送的数据更少,响应时间更快(通常)。

就像你说的,使用记录案例中的所有数据进行测试更现实,但如果这些参数确实不会影响你的结果和测量时间,你可以将它们删除以提高可读性。

有时 jmeter 记录的参数不是必需的,因为它们仅用于浏览器兼容性。

虽然这可能是非常微不足道的事情,比如在用户时区的日历中预填充日期和时间,但我相信您不应该遗漏任何请求参数。

我坚信负载测试应该尽可能地模拟真实用户,所以如果发送这些额外参数并执行它们的关联不是什么大不了的事——我会离开它们。

一些其他提示:

  • 嵌入式资源(脚本、样式、图像)。真实浏览器下载这些实体
    • 确保选中 "Retrieve All Embedded Resources" 复选框
    • 确保 "Use concurrent pool" 尺寸为 3-5 线程
    • 通过 "URLs must match" 输入过滤掉任何 "external" 内容
  • 行为良好的浏览器会下载嵌入式资源,但只会下载一次。在后续请求中,它们将从浏览器的缓存中返回。将 HTTP Cache Manager 添加到您的测试计划以模拟浏览器缓存。
  • 添加 HTTP Cookie Manager 表示浏览器 cookie 并处理基于 cookie 的身份验证。

    请参阅 How To Make JMeter Behave More Like A Real Browser 文章了解上述提示,以防您想深入了解详细信息