1

我需要使用 JMeter 测试 Vaadin 网站,但无法正常工作。我尝试使用代理记录我的操作并且效果很好,但是当我尝试再次运行测试时,它给了我一个错误:不同步。我已禁用 xsrf。

这与 Vaadin 不能同时在两个选项卡中运行的事实有关吗?我正在使用 vaadin 6,但无法轻松升级。

在此先感谢斯特凡

我得到的错误响应是:

for(;;);[{"changes":[], "meta" : {"appError": {"caption":"Out of sync","message" : "有些东西导致我们不同步服务器。记下所有未保存的数据,然后单击此处</u>重新同步。","url" : null}}, "resources": {}, "locales":[]}]

解决方案: - 禁用 xrsf,因为当您录制然后启动新线程时,请求会发送错误的安全密钥。在上线时启用它!- 确保组件是唯一且一致的。我的应用程序中的问题是组件的 id 正在更改每个请求。所以录制时的请求只在录制时验证。当我重播它时,它要求输入错误的ID。通过使其独特和一致,这个问题消失了!

祝好运并玩得开心点 ;)

4

2 回答 2

1

读这个:

问题可能在于禁用 XSRF。

然而,编写 Vaadin 应用程序的脚本并不容易,因为需要关联很多技术 ID 才能创建成功的模拟。

您可以手动进行关联,这需要一些工作,或者您可以使用 JMeter 的这个商业插件

请注意,禁用 XSRF 只是问题的一部分,并不能解决所有问题。禁用它不会使应用程序成为 ISO-PROD。

免责声明:我们是此解决方案的提供者

于 2013-05-27T11:17:28.360 回答
0

如果您无法禁用 XSRF 保护,SmartMeter的自动关联功能(基于 JMeter)是解决方案。在记录测试时,它会自动从响应中解析 XSRF 令牌并在后续请求中使用它们。这是一个详细的指南

于 2015-08-07T12:54:04.690 回答