我想对一个有 5000 个用户的 vaadin 应用程序进行负载测试。我发现这个https://vaadin.com/wiki/-/wiki/Main/JMeter%20Testing并试图用单个用户进行模拟。通过最简单的登录和注销步骤,我在播放过程中遇到了这个错误。
没有 UIProvider 为请求返回 UI
知道这个错误是什么或如何解决它吗?
我想对一个有 5000 个用户的 vaadin 应用程序进行负载测试。我发现这个https://vaadin.com/wiki/-/wiki/Main/JMeter%20Testing并试图用单个用户进行模拟。通过最简单的登录和注销步骤,我在播放过程中遇到了这个错误。
没有 UIProvider 为请求返回 UI
知道这个错误是什么或如何解决它吗?
看起来 jMeter 示例适用于 Vaadin 6。Vaadin 7 重构了 servlet 类,Application 类现在是 UI 类。因此,而不是 web.xml 的那部分看起来像这样:
<servlet>
<servlet-name>FeatureBrowser</servlet-name>
<servlet-class>com.vaadin.terminal.gwt.server.ApplicationServlet</servlet-class>
<init-param>
<param-name>application</param-name>
<param-value>com.vaadin.demo.featurebrowser.FeatureBrowser</param-value>
</init-param>
<init-param>
<param-name>disable-xsrf-protection</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
它看起来像这样:
<servlet>
<servlet-name>FeatureBrowser</servlet-name>
<servlet-class>com.vaadin.server.VaadinServlet</servlet-class>
<init-param>
<param-name>UI</param-name>
<param-value>com.vaadin.demo.featurebrowser.FeatureBrowserUI</param-value>
</init-param>
<init-param>
<param-name>disable-xsrf-protection</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
假设 FeatureBrowser 类重命名为 FeatureBrowserUI,并继承了 UI 类,以及 Vaadin 7 引入的所有其他小更改,如迁移指南中所述:链接。
Vaadin 使用了很多技术 ID,因此为了创建逼真的模拟,您需要关联这些 ID。XSRF 保护只是相关性的一部分。
您可以阅读此博客,其中说明了 JMeter 的商业插件的使用,该插件为您执行自动关联。您只需录制即可回放,所有关联均由插件完成。
免责声明:我们是此解决方案的提供者