Jmeter-无法理解工作流程的结果

时间:2015-04-06 12:14:41

标签: jmeter

我的网站工作流程如下:

用户名 - >密码 - >点击登录按钮 - >点击报告菜单(每日交易)--->在报告中选择日期和设备 - >点击生成按钮。

现在我想检查这种情况的负载测试,如果有多个用户登录并访问报告,我的网站将如何运作?

我创建了csv文件,用于多个用户登录报告数据。但是无法理解输出的结果。它显示两次登录请求,即登录请求,在每日报告请求下,它再次显示登录请求。我已经单独创建了登录请求和报告请求。

结果我没理解为什么它在每日报告请求下再次显示登录请求。

2 个答案:

答案 0 :(得分:0)

我认为这是由于第一次登录请求失败,因为每日报告请求不适用于未经过身份验证的用户。我建议您采取以下步骤来解决您的问题:

  1. 在测试计划中添加HTTP Cookie Manager。它将自动关心处理cookie,并希望足以让你继续。
  2. 如果不是 - 多次记录您的登录请求并检查记录的请求以查看是否存在任何差异。如果是 - 您需要提供一些必需的动态参数以及凭据。在这种情况下,测试场景框架将如下所示:

    • 获取登录页面的请求
      • 提取动态参数值
    • POST请求登录页面提供用户名,密码和动态参数名称/值对
  3. 有关动态参数提取和使用位的更多详细信息,请参阅ASP.NET Login Testing with JMeter指南,即使您的应用程序不是基于ASP.NET的,它仍然应该为您提供需要完成的工作的线索。

答案 1 :(得分:0)

如果您使用的是事务控制器,则可能会产生误导性结果,如您所见。

例如,请执行以下操作:

  • 交易控制器 - 名称"登录"
    • HTTP示例 - 名称"登录"

如果"生成父样本"在事务控制器上选中,您只能在结果中看到事务控制器。如果未选择此选项,您将在结果集中看到HTTP Sample和Transaction Controller。

另外,请注意"父样本"时间记录为在交易结束时完成所有请求的总时间!!在几乎所有情况下,这都会报告不准确的时间,因为真实的Web环境有异步调用。

出于这个原因,强烈建议避免使用事务控制器。在一种情况下,您报告所有不正确的样本的端到端时间,另一种方法是报告事务控制器和子样本,这反过来会使您的测试报告的交易率不正确。