I would like to load test a vaadin app with 5000 users. I found this https://vaadin.com/wiki/-/wiki/Main/JMeter%20Testing and trying to emulate with a single user. With the simplest step of Login and Logout, i encounter this error during playback.
No UIProvider returned a UI for the request
Any idea what is this error regards or how to troubleshoot it?
It looks like that jMeter example is for Vaadin 6. Vaadin 7 refactored the servlet class, and the Application class is now the UI class. So instead of that section of the web.xml looking like this:
<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>
It would look like this:
<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>
Assuming the FeatureBrowser class is renamed to FeatureBrowserUI, and subclasses the UI class, and all the other little changes Vaadin 7 introduced, as explained in the migration guide: link.
Vaadin uses a lot of technical ids, so in order to create a realistic simulation you need to correlate those ids.
XSRF protection is only part of the correlation.
You can read this blog which illustrate the use of a commercial plugin for JMeter that does auto correlation for you. You just record and you can replay, all correlation is done by plugin.
Disclaimer : We are provider of this solution