2015-04-06 61 views
-2

我的网站的工作流程如下:Jmeter-无法理解导致工作流

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

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

我已经创建了csv文件,用于多个用户登录报告数据。但不能理解输出即将到来。它显示登录请求两次,即登录请求,并在每日报告请求下再次显示登录请求。我已经分别创建了登录请求和报告请求。

结果我不明白为什么它在每日报告请求下再次显示登录请求。

回答

0

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

  1. HTTP Cookie Manager添加到您的测试计划。它会自动关心处理cookie,希望能够让你继续下去。
  2. 如果没有 - 多次记录您的登录请求并检查记录的请求以查看是否有任何差异。如果他们是 - 你需要提供一些必要的动态参数以及证书。在这种情况下,测试场景骨架将如下所示:

    • GET请求登录页面
      • 提取动态参数值
    • POST请求登录页面提供的用户名,密码和动态参数名称/值对

参见ASP.NET Login Testing with JMeter引导更多DETA即使你的应用程序不是基于ASP.NET的,它仍然会给你一些线索,说明需要做什么。

+0

Thx Dmitri ...我在我的测试计划下添加了Cookies和缓存以及明确的每个选项。实际上,我手动添加了http请求,而不是记录它。现在我记录了我的工作流程,如登录 - >访问每日报告,它显示结果为登录 - >导航到主页 - >访问每日报告。 – Rohini 2015-04-07 14:18:09

0

如果您使用事务控制器,这可能会产生误导的结果,如您所看到的。

例如,采取如下:

  • 事务控制器 - 姓名 “登录”
    • HTTP样本 - 名 “登录”

如果 “生成母样本”在交易控制器上被选中,您将只能在结果中看到交易控制器。如果未选择此选项,您将在结果集中看到HTTP Sample和Transaction Controller。

此外,请注意,“母样”时间记录为在交易中完成所有请求所花费的总时间!在几乎所有情况下,这都会报告不准确的时间,因为真实的Web环境具有异步调用。

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

+0

Thx AA Ron回复.. – Rohini 2015-04-07 14:16:51