我在尝试对 Oracle Apex 网站进行压力测试时遇到 Jmeter 问题。我遇到的问题源于 ajax 问题。
使用 Jmeter,我尝试模拟应用程序第一页上的按钮单击,并在页面上发送 HTTP Post 请求:
/Capps/wwv_flow.ajax
我传入以下变量:
p_flow_id 101
p_flow_step_id 1
p_instance ${sessionid}
p_request PLUGIN=ijiPvZ-iJYfT0ihaQKUMZz3Lcjg8SHOXpMeHDzckC5k
p_json {"pageItems":null,"salt":"258015622351528748546171137179439761614"}
前三个是申请号、页码和 sessionid(sessionid 是在前面的步骤中使用正则表达式提取器检索的)此外,p_request 和 p_json 也进行了编码。
我在开发者模式下使用 chrome 时注意到 p_request 字符串和 p_json 字符串的最后一部分通常会随着按钮单击的每次运行而改变
我无法在网上找到任何可以帮助解释这种情况发生的信息,以便我可以找到模拟按钮单击的解决方案。
注意我在另一个页面上遇到了类似的问题,我尝试提交一个简单的表单。
任何帮助将不胜感激,谢谢,
扎克
查看为 Apex 配置 Apache JMeter 文章,似乎您需要以与
p_request
完全相同的方式关联这些 p_json
和 p_instance
参数(当然假设不同的相关 后处理器)
或者,您可以使用基于云的代理工具记录您的测试场景,该工具能够以“SmartJMX”模式导出记录的脚本,并自动关联所有检测到的动态参数,请查看如何将 JMeter 脚本编写时间缩短 80% 文章了解更多详情。
请尝试保持
p_request
不变,并将盐值替换为 p_page_submission_id
值,该值是对应用程序启动调用的响应。
这对我有用。