【问题标题】:Saving form input from JMeter in a JSF app在 JSF 应用程序中保存来自 JMeter 的表单输入
【发布时间】:2018-11-13 05:22:32
【问题描述】:

我目前的任务是使用 JMeter 对 JSF 应用程序进行负载测试。出于测试目的,我正在尝试使用 localhost 创建测试脚本。

我一直在尝试编写脚本的场景是,当用户在文本字段中输入内容并单击“另存为草稿”时。然后该值将被持久化到数据库中。

我已经成功地获取了 viewstate 值(使用 CSS/JQuery Extractor),但是在执行脚本时,Jmeter 说它成功了,但它无法将输入保存到 DB。检查本地服务器日志时,错误是索引超出范围:

Index out of range picture

这是通过 BlazeMeter Recording 生成的 http 请求,并带有已编辑的 VIEWSTATE 变量:

HTTP request sample

这是我第一次使用 JMeter 和 JSF(我是一名开发人员,但目前的任务是进行负载测试,而且我之前没有使用过 JSF)...我在设置中错过了什么吗?任何帮助将不胜感激,谢谢!

【问题讨论】:

    标签: java jsf testing jmeter load


    【解决方案1】:

    很可能您的${VIEWSTATE} 变量与您的服务器期望的不匹配,请使用Debug Sampler and View Results Tree 侦听器组合仔细检查其值。

    javax.facex.ViewState 参数值必须 100% 与来自上一页的值匹配,因此您需要确保它们相同。您可能还需要为 ViewState 取消勾选 Encode 框,因为 JMeter 可以用 URL-Encoded 等效项替换非 ASCII 字符,从而导致不匹配。

    【讨论】:

    • 谢谢!我能够使用您建议的关于调试的链接跟踪视图状态值,我发现表单没有正确获取视图状态值,因为上一页没有 CSS/JQuery 提取器获取视图状态值的输入值从。相反,我发现 viewstate 值在 CDATA 内容中。 [我按照此链接了解如何提取 CDATA 内容] (stackoverflow.com/questions/26912892/…) 然后我将其存储在另一个变量中。非常感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多