JMeter是我最喜欢的,也是我用过的最好的工具之一。我很高兴你也想了解更多有关JMeter的信息。如果您是初学者,那么以下给出的信息可能对您有用。
当我开始首先学习JMeter时,为了擅长它,我曾经在StackOverFlow中澄清了与JMeter相关的问题。在这样做的同时,我注意到大多数新用户都有一些常见的问题并且会犯一些错误。这篇文章的目的是分享使用JMeter的最佳实践。
我假设您安装了JMeter,您知道如何记录,回放,意义和一些重要元素的基本用法,如线程组,HTTP采样器等
提示#1:排除静态文件
- 使用JMeter代理服务器记录Web应用程序HTTP请求时,请不要包含Javascript / CSS / Image文件等静态文件。
- 例如,在我的一个应用程序中,很少有图像被随机加载。如果我录制它们,我将始终测试我在测试中记录的1张图像。
- 另一个例子是 - 让我们说你的应用程序在你录制脚本时引用了jquery.1.1.min.js。后来开发人员使用了新版本的jQuery lib。如果您在录制的脚本中包含此请求,那么您的脚本将始终下载错误的版本jQuery lib。
- 因此,您可以在录制时使用JMeter建议的排除列表。
- 即使在现有脚本中以某种方式记录它们,您也可以安全地删除它们。
- 排除后,您将只拥有App服务器的实际HTTP请求。
- 播放脚本时,在HTTP请求中启用以下选项。
- 启用此选项可使JMeter像真正的浏览器一样运行。一旦收到HTTP响应,如果需要下载任何静态文件作为响应的一部分,JMeter将像浏览器一样下载所有这些静态文件。
- 这也将使您的脚本看起来整洁干净。
提示#2:使用Transaction / Simple Controller
- 记录浏览器操作时,请尝试将作为用户操作一部分发送的HTTP请求分组。
- 也就是说,如果可能的话,每个用户操作都需要放在事务控制器下。
- 例如,作为单击按钮的一部分,您的应用程序可能会发出多个HTTP AJAX请求。
- 考虑信用卡在线申请。登录后,页面中可能有多个portlet,它们进行不同的调用以获取portlet的相关信息。
- 对于用户来说,这只是一个登录操作。但是应用程序会加载超过1个HTTP请求来加载页面。因此,您应该将它们分组并将它们放在一个事务控制器下。为控制器指定一个有意义的名称。