如何管理 Cookies are required 错误页面?
How to manage Cookies are required error page?
我是jmeter的新手。我使用 blazemeter chrome 插件记录我的脚本。现在在登录时我得到 需要 Cookie 已在您的浏览器上禁用 Cookie。请启用 cookie 并刷新此页面 我已设置 CookieManager.save.cookies=true 但没有成功 .
JMeter is not a browser, it works at protocol level. As far as web-services and remote services are concerned, JMeter looks like a browser (or rather, multiple browsers); however JMeter does not perform all the actions supported by browsers. In particular, JMeter does not execute the Javascript found in HTML pages. Nor does it render the HTML pages as a browser does (it's possible to view the response as HTML etc., but the timings are not included in any samples, and only one sample in one thread is ever displayed at a time).
因此,如果您的页面使用 JavaScript 来检查用户 cookie,则无法绕过此消息,这意味着您可以忽略它。
但是,如果您无法继续进行,则意味着 JMeter 没有向您的测试计划发送必要的 Cookie header so make sure to add HTTP Cookie Manager。
如果您添加了 HTTP Cookie 管理器,但仍然看到真正的浏览器发送 cookie 而 JMeter 没有(或发送部分)很可能意味着您的服务器 returns 格式错误或过期的 cookie,您需要为您的应用程序提出缺陷。
最后但同样重要的是,如果您不得不忍受这些 malformed/broken cookie 并且仍然需要登录,您可以采用以下解决方法:
将 HTTP Cookie 管理器的“实施”更改为限制较少的内容,即 netscape
将下一行添加到 user.properties 文件(位于 JMeter 安装的“bin”文件夹中:
CookieManager.check.cookies=false
Increase JMeter logging verbosity for the HTTP Cookie Manager 通过将下一行添加到 log4j2.xml 文件:
<Logger name="org.apache.jmeter.protocol.http.control" level="debug" />
这样您就可以找出 cookie 有什么问题
最后但同样重要的是,您始终可以从 Set-Cookie response header using i.e. Regular Expression Extractor and again manually add them to the HTTP Cookie Manager or HTTP Header Manager
中手动提取 cookie
我是jmeter的新手。我使用 blazemeter chrome 插件记录我的脚本。现在在登录时我得到 需要 Cookie 已在您的浏览器上禁用 Cookie。请启用 cookie 并刷新此页面 我已设置 CookieManager.save.cookies=true 但没有成功
JMeter is not a browser, it works at protocol level. As far as web-services and remote services are concerned, JMeter looks like a browser (or rather, multiple browsers); however JMeter does not perform all the actions supported by browsers. In particular, JMeter does not execute the Javascript found in HTML pages. Nor does it render the HTML pages as a browser does (it's possible to view the response as HTML etc., but the timings are not included in any samples, and only one sample in one thread is ever displayed at a time).
因此,如果您的页面使用 JavaScript 来检查用户 cookie,则无法绕过此消息,这意味着您可以忽略它。
但是,如果您无法继续进行,则意味着 JMeter 没有向您的测试计划发送必要的 Cookie header so make sure to add HTTP Cookie Manager。
如果您添加了 HTTP Cookie 管理器,但仍然看到真正的浏览器发送 cookie 而 JMeter 没有(或发送部分)很可能意味着您的服务器 returns 格式错误或过期的 cookie,您需要为您的应用程序提出缺陷。
最后但同样重要的是,如果您不得不忍受这些 malformed/broken cookie 并且仍然需要登录,您可以采用以下解决方法:
将 HTTP Cookie 管理器的“实施”更改为限制较少的内容,即
netscape
将下一行添加到 user.properties 文件(位于 JMeter 安装的“bin”文件夹中:
CookieManager.check.cookies=false
Increase JMeter logging verbosity for the HTTP Cookie Manager 通过将下一行添加到 log4j2.xml 文件:
<Logger name="org.apache.jmeter.protocol.http.control" level="debug" />
这样您就可以找出 cookie 有什么问题
最后但同样重要的是,您始终可以从 Set-Cookie response header using i.e. Regular Expression Extractor and again manually add them to the HTTP Cookie Manager or HTTP Header Manager
中手动提取 cookie