GWT is intensely javascript-centric and Jmeter does not run Javascript as a browser would. This means that you can't exactly test the user interface.
What you CAN do, and I've done this a few times so far, is test the client-server communication that originates out of that user interface. For this, the recording controller works reasonably well. So you can send the string the login GUI would send back to the server and validate that the response was one you expected. You just can't verify that you actually get a login screen. This is actually pretty helpful. You can quickly verify that there were no regressions in the server code, and dramatically lighten the load on your manual testers. In some iterations you might not need to call on manual testers at all. The GWT app I was testing uses GWT RPC to communicate with the back end. So some stuff happens on the client (Lets say the user is presented with a login screen) and then after the action has been completed data is squirted back to the server to validate that user. The recording controller sends the httprequest back as one big delimited string, but you can mostly see the values that you need to parameterize with Jmeter variables. There's one cryptographic signature toward the start of the string that's not intuitive. It seems to be there to prevent cross-site scripting and it changes every time you (or at least every time we) rebuild the app. This string must be replaced every time you deploy, or your test will no longer work correctly. To get this string, which is called the "Strong Name", you have to go to the directory where your application is deployed. In this directory are a number of .gwt files, each of which starts with the cryptographic signature you're interested in. If you search for the name of the function you're attempting to call in your jmeter test (Let's say "login",) one of the files will have the function name in it. The filename of this file before the ".gwt" part is the GWT strong name you need to replace that parameter with, in your string. I apologize if I didn't explain that very well, I haven't had my coffee yet. If it didn't make sense to you, I'll try to dig up some additional information about it from my research on the subject for you. -- Bruce Ide flyingrhenqu...@gmail.com