【问题标题】:Whether HTTP Request in Jmeter should be logged in database?Jmeter中的HTTP请求是否应该记录在数据库中?
【发布时间】:2017-08-16 18:35:39
【问题描述】:

我在 JMeter 中的 HTTP 请求成功运行,但任何数据都没有映射到数据库中。但是如果我手动运行我的应用程序,数据在数据库中正确记录。我没有创建任何数据库连接。我不确定这是否是正确的行为。我使用 HTTP(S) TEST SCRIPT RECORDER 创建了我的 JMeter 脚本请帮助我,我是 JMeter 的新手。

【问题讨论】:

    标签: jmeter jmeter-plugins jmeter-maven-plugin blazemeter


    【解决方案1】:

    行为良好的 JMeter 测试应该与手动执行相同步骤的方式完全相同。如果您看到不同的行为,很可能您的测试没有做它应该做的事情。

    在大多数情况下,您不能只记录和回放您的测试场景,因为现代网站出于各种原因广泛使用动态令牌:

    因此,您能够成功重播录制的测试的机会很小。为了修复记录的测试场景“骨架”,请执行以下步骤:

    1. HTTP Cookie Manager 添加到您的测试计划中
    2. 执行关联

      • 检测所有动态参数(您可以再记录一次测试并比较 JMeter 脚本,如果存在差异 - 您需要关联那些不同的值)
      • 使用 JMeter Post-Processors 之一从以前的响应中提取它们并保存到 JMeter Variables
      • 使用上述 JMeter 变量而不是硬编码的记录值
    3. 完成后,在启用 View Results Tree 侦听器的情况下运行测试并检查请求和响应详细信息以检查测试的完整性

    还有另一种通过基于云的代理服务器记录JMeter测试的方法,它能够以“SmartJMX”模式导出记录的脚本,并自动检测和关联动态参数,如果有兴趣,请查看How to Cut Your JMeter Scripting Time by 80%文章

    【讨论】:

    • 我为每个脚本手动创建了两个脚本,并假设生成了两个应用程序 ID 963 和 964。除了 HTTP 请求中 PATH 的 URL 之外,其他一切都相同--- 第一个脚本的 PATH:-- /ccd/login/login.do;jsessionid=FF1298246252F4114E1F3F273CA06A28.106 第二个脚本的 PATH:-- /ccd/login/login.do ;jsessionid=E1A93A11FBA42768AF8032AAF333DF8E.106 我还添加了 HTTP Cookie 管理器,其中未选择 Clear Cookies Each Iteration。还添加了 HTTP Header Manager 我需要为此添加正则表达式还是可以?
    猜你喜欢
    • 1970-01-01
    • 2017-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-13
    • 2014-08-09
    • 2014-02-09
    • 1970-01-01
    相关资源
    最近更新 更多