使用JMeter复制浏览器和用户行为

时间:2018-02-16 12:56:17

标签: jmeter jmeter-4.0

我是JMeter的新手,希望深入了解如何在JMeter中复制浏览器和用户行为。 使用JMeter测试Web应用程序(主要用于httpd,php,angular等)时的最佳实践是什么

即从一些阅读文档中我应该使用计时器来延迟每个采样器以获得更实际的用例

阅读JMeter文档后,我仍然有一些困惑:

HTTP请求配置:
- 我们应该使用Java而不是HTTPClient4吗? - 我们应该从HTML文件启用嵌入式资源吗?

Cookie管理员:
- 我们应该在每次迭代时保留或清除cookie

缓存管理器:
- 我们应该清除每次迭代的缓存还是保留它? - 我们应该使用缓存控制头吗? - 缓存中max number元素的最佳值是多少?

我应该把缓存管理器,cookies管理器放在哪里?
如果我有超过1个线程组,则在测试计划下或在线程组下?

如何在JMeter采样器或标头管理器中配置keepalive?

我的用例是复制访问Web应用程序的10个并发唯一用户

1 个答案:

答案 0 :(得分:2)

HTTP请求配置

Cookie管理员:

  • 我们应该在每次迭代时保留或清除cookie 根据您的情况,例如,如果它从登录开始并以注销结束 - 清除Cookie以表示"清理"会话

缓存管理器:

  • 我们应该清除每次迭代的缓存还是保留它? 视情况而定,例如Cookie Manager
  • 我们应该使用缓存控制头吗? 取决于您在测试中的应用程序的缓存方式
  • 缓存中max number元素的最佳值是多少? 需要足以在应用程序中保留所有可缓存的内容。您可以清除Chrome浏览器缓存,手动执行测试方案,打开chrome://net-internals/#httpCache网址,查看您有多少Entries。将此设置修改为相等或更多

我应该放置缓存管理器,Cookie管理器吗?     如果我有超过1个线程组,在测试计划下或在线程组下? 这些"经理"服从JMeter Scoping Rules,如果你把它们放在测试计划之下 -  它们将应用于所有线程组,如果将它们放在线程组下 - 它们将仅应用于当前线程组

如何在JMeter采样器或标头管理器中配置keepalive? - 如果在HTTP Request sampler下勾选Use KeepAlive,它将自动添加Connection: keep-alive标题。如果你取消它 - JMeter将发送Connection: close标题。不要使用HTTP标头管理器来修改Connection标头值