我有一个GWT应用程序,想使用像jmeter这样的工具测试负载和功能。
我不确定jmeter是否是适合GWT的正确工具。是否有人可以指导我选择适当的工具或告诉我如何使用jmeter进行测试?
我想要测试登录功能:登录屏幕上有两个文本框'用户名'和'密码',想要测试同时有多少用户可以登录,一次往返到服务器需要多长时间。我不知道jmeter如何获取'用户名'和'密码'并提交验证来对GWT应用程序的数据库进行验证?
提前致谢。
我有一个GWT应用程序,想使用像jmeter这样的工具测试负载和功能。
我不确定jmeter是否是适合GWT的正确工具。是否有人可以指导我选择适当的工具或告诉我如何使用jmeter进行测试?
我想要测试登录功能:登录屏幕上有两个文本框'用户名'和'密码',想要测试同时有多少用户可以登录,一次往返到服务器需要多长时间。我不知道jmeter如何获取'用户名'和'密码'并提交验证来对GWT应用程序的数据库进行验证?
提前致谢。
使用基于HTTP表单的负载测试解决方案(如JMeter或Selenium)测试GWT可能会很困难,因为用户界面不断发展。
在我们的项目中,我们采用了另一种方法。
使用gwtrpccommlayer项目,我们直接从JUnit调用RPC servlets。
http://code.google.com/p/gwtrpccommlayer/
这意味着我们可以在负载测试脚本中重复使用服务器端的facade API,并随着服务器端代码的演进来维护这些脚本。最近我使用了用Groovy编写的Selenium 2测试脚本,再加上Gradle进行并行执行,对GWT应用程序进行了负载测试。以下博客文章展示了一些结果。
http://blog.oio.de/2011/04/19/load-testing-gwt-applications-with-selenium-2-and-gradle
我在使用jMeter测试GWT应用程序时遇到了同样的问题,因此我编写了一段代码,执行GWT负载反序列化,从而允许您对jMeter(或任何其他)性能测试进行参数化:
http://code.google.com/p/gwt-payload-deserializer/
请查看ReadMe.txt以了解所有GWT-RPC有效载荷组件的说明。
这取决于维护。我们有一个GXT应用程序,甚至JMeter HTTP代理记录器在其上运行良好。
但是,由于RPC请求使用参数(“X-GWT-Permutation”),该参数是.nocache.html文件的ID,因此其维护性受到影响。由于每次构建都会生成具有不同ID的文件,因此您可能需要重新录制它。
另一方面,Selenium运行良好。掌握在selenese中正确使用选择器,并确保DebugIds(在GWT中),您很可能已经准备就绪了。编写一个包含JUnit(3.8)测试套件的.jar并将其包装在Selenium周围相当简单。
作为建议:如果您可能要使用Selenium进行多次负载测试,我可以推荐Saucelabs的Sauce on Demand(saucelabs.com)。您可以使用他们的服务设置SSH代理,然后他们的EC2 Selenium实例连接到您的内部应用程序。这是我们采用的方法。
您可以使用GWT-DFE(数据格式扩展)在LoadRunner中测试GWT。该工具已包含在其中,无需单独下载。如果您问的是免费软件LoadRunner是否超出预算,那么可能会是这样,但出于完整性考虑,我想提一下。
可在Youtube上查看简短的视频演示,并且LoadRunner帮助文档包含更多详细信息。