首页 > 解决方案 > 如何在 Jmeter 中模拟浏览器的两个连续选项卡行为?

问题描述

我有如下要求。我有两个 URL 要在浏览器的两个不同选项卡中运行。状态为“mystate”的第一个 URL。这将重定向到登录页面。

https://localhost:9031/as/authorization.oauth2?client_id=ac_client&response_type=code&scope=openid&nonceid=123-456-789&prompt=&state=mystate&RequestTypeId=Authorize&overrideUseDefaultUI=

状态为“yourstate”的第二个 URL。这也重定向到登录页面。

https://localhost:9031/as/authorization.oauth2?client_id=ac_client&response_type=code&scope=openid&nonceid=123-456-789&prompt=&state=yourstate&RequestTypeId=Authorize&overrideUseDefaultUI=

在第二个 URL 选项卡上,如果我尝试登录,这仍然会将状态显示为“mystate”而不是“yourstate”。这是我需要修复的错误。

好吧,我的问题是,如何在我的 Jmeter 中复制浏览器的这种行为?或者我如何在我的 Jmeter 中复制这个错误。因为我知道只需添加两个同时的 HTTPRequest,这种情况将不会被复制。

标签: jmeter

解决方案


如果您可以使用浏览器重现该问题,您应该能够使用 JMeter 执行此操作,只需仔细检查请求并确保 JMeter 发送与浏览器相同的请求即可。

请注意请求标头,尤其是Cookie,就好像您只是使用HTTP 请求采样器来访问 URL 一样,这可能不足以复制真实浏览器的行为。可以使用HTTP 标头管理器控制标头

另请注意,如果您的应用程序依赖于本地存储会话存储,不幸的是 JMeter 将不支持这种情况,因为它无法执行 JavaScript,在这种情况下,您将不得不使用像Selenium这样的真正的浏览器自动化框架,有 JMeter/Selenium称为WebDriver Sampler的集成,它允许从 JMeter 测试中启动真实的浏览器并执行任意代码来编排模拟真实用户活动的浏览器


推荐阅读