如何在JMeter中正确设置正确的User-Agent

时间:2018-08-28 21:42:13

标签: jmeter suitecrm

我正在尝试遵循指南How to use JMeter for Login by Authentication。我的目标应用程序是suitecrm实例。我处于状态获取登录表单的GET请求。我正在按照这些步骤操作,但是当我查看“响应数据”选项卡中的HTML的视图结果树时,收到此消息:

注意:您的浏览器或浏览器版本不兼容。

建议使用以下版本的浏览器: Internet Explorer 9 Mozilla Firefox 14、15 Safari 6 Google Chrome 22(或最新版本)

警告:您的浏览器处于IE兼容模式,该模式不受支持。

enter image description here

为了更正此问题,我添加了具有以下名称和值的HTTP标头管理器

enter image description here

但是没有成功,当我运行测试时,我得到了相同的结果。

如果有必要分享测试计划

enter image description here

我非常感谢您的任何建议,如果您需要更多信息,请告诉我。预先感谢。

1 个答案:

答案 0 :(得分:1)

您传递User-Agent标头的方式是绝对正确的,因此我希望您可以忽略该警告并继续进行测试,因为该警告仅在“登录”页面上显示。

大概是因为JMeter is not a browser

  

JMeter不是浏览器,它在协议级别工作。就Web服务和远程服务而言,JMeter看起来像一个浏览器(或更确切地说,是多个浏览器)。但是,JMeter不会执行浏览器支持的所有操作。特别是, JMeter不会执行HTML页面中的Javascript 。它也不会像浏览器那样呈现HTML页面(可以将响应查看为HTML等,但是计时未包含在任何示例中,并且一次仅在一个线程中显示一个示例)。

,很可能是suitecrm正在使用JavaScript探查浏览器功能。

尽管我提供了有效的用户代理,但我还是在本地进行了快速测试,并得到了相同的警告:

Suitecrm login page

但是,即使没有Apache-HttpClient/4.5.5 (Java/1.8.0_101)的默认User-Agent,我也能够成功登录并查看应用程序仪表板。

JMeter SuiteCRM Successful login

因此,我建议您继续进行测试,同时还要确保您的JMeter测试行为exactly like real browser(包括AJAX)要求进行正确的模拟,因为JMeter由于缺少JavaScript而无法做到这一点支持