【问题标题】:Data entry through Jmeter not reflected in UI of application通过 Jmeter 输入的数据未反映在应用程序的 UI 中
【发布时间】:2015-11-04 21:44:09
【问题描述】:

我正在使用 Jmeter 对 Moodle 应用程序执行负载测试

我按照以下步骤复制了一个简单的“添加公司”测试场景

1:通过HTTP测试脚本记录器记录浏览器动作并创建一个线程用户为1的测试计划

2:添加了 HTTP 缓存管理器,添加了正则表达式提取器,用于检索动态生成的登录 HTTP 请求会话。

  1. 对于添加新公司的Http请求,添加了包含新公司名称的用户参数

  2. 我运行测试,在视图结果树-响应部分似乎一切正常(响应代码:200,响应消息:OK),所有必需的变量都在 HTTP POST 中传递

    李>

问题:通过 Jmeter 测试添加的新公司未反映在 moodle 操作的 UI 中 你们中的任何人都可以告诉我吗 有什么我可能会丢失或无论如何我可以调试问题吗?

P.S:我是 Jmeter 的新手,我四处寻找通过 Jmeter 输入的数据没有显示在 Web 应用程序的 UI 中,希望找到有用的结果。

【问题讨论】:

    标签: jmeter performance-testing moodle


    【解决方案1】:

    这类问题的答案几乎总是你错过了除了你确实捕获的会话 ID 之外的一些必要的动态值。

    HTTP200 响应仅表示服务器返回了“良好”响应。其中也可能包含错误消息。

    我会检查返回响应的实际 html 正文是否有任何错误。检查服务器端的日志可以为您提供有时出错的线索。您还应该尝试添加 cookie 管理器。

    【讨论】:

    • 感谢您的回复。我实际上已经添加了 Cookie 管理器并没有提及它。但是,我通过正则表达式提取器提取的会话 ID 仅在我检查 HTTP 请求的“使用多部分/表单数据进行 POST”时传递,即使文件附件不是必需的。这会以任何方式影响数据更新吗?
    • 你是对的,我以为我在传递会话变量,但它没有被传递。我使用正则表达式提取器提取会话 ID 并将其作为 ${session} 传递,但 HTTP POST 中未捕获此值,我的帖子数据如下,请让我知道您是否可以通过“POST 数据”提供帮助: id=633&action=edit&sessionID=${session}&name=1234567&submitbutton=Submit " 注意-我的正则表达式工作正常,我检查了正则表达式调试
    • 正则表达式是否没有在参数中正确存储会话 ID?或者它正确存储它但您无法正确调用该值?你能展示你的正则表达式提取器,以及你是如何使用会话的吗?您的测试计划中的屏幕截图会有所帮助。
    • 我没有提取我应该提取的会话值,将正则表达式提取器用于正确的 HTTP 请求。它现在工作正常。谢谢
    【解决方案2】:

    在 GUI 模式下使用 1 个虚拟用户运行测试,启用 View Results Tree 侦听器并检查响应以查看脚本失败的地方。我的期望是您根本无法登录。

    参考Moodle-JMeter-LoadTest.jmx文件,它使用XPath Extractor获取会话密钥和课程ID。

    【讨论】:

      【解决方案3】:

      我认为您不能使用 JMeter 进行测试。改用 JUnit 测试用例 http://jakarta.apache.org/jmeter/usermanual/junitsampler_tutorial.pdf

      【讨论】:

      • 请支持您的说法,即这不能在 JMeter 中完成。这听起来像是纯 HTTP 调用,这是 JMeter 的主要用例。此外,OP 表示他们正在尝试执行负载测试。 JUnit 如何比 JMeter 更合适?
      猜你喜欢
      • 2018-05-07
      • 1970-01-01
      • 1970-01-01
      • 2014-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-11
      相关资源
      最近更新 更多