使用 Jmeter 从 URL 中提取会话 ID
Extract Session ID from URL using Jmeter
我正在使用 jmeter 来尝试测试网站。我目前在提取返回的信息时遇到问题。
例如,我将 HTTP 请求发送至:
https://intranet.company.com/Capps/f?p=101:1:
网站响应:
https://intranet.company.com/Capps/f?p=101:1:11016690116729:::::
响应末尾列出的新数字串是我必须用来测试程序其他页面的会话 ID。我一直在尝试使用 reg Ex 提取器,但我似乎无法从 url 中提取数字。我目前使用的是 jmeter 3.1
正则表达式我已经厌倦了:
f?p:101:1:([0-9]{16})::
f?p=([0-9]{1,3}):([0-9]{1,3}):([0-9]{16}):
和各种类似的表达方式,但 none 对我有用。如果我设置没有会话 ID 的网站,它会工作,但网站需要使用会话 ID。
感谢您提供的任何帮助,
Zwils0
我对 jmeter 一无所知,但我猜它支持标准的正则表达式语法。在您的正则表达式中,您需要一个长度恒定为 16 的数字会话 ID。但是,会话 ID 的长度不一定是 16 位数字。在您自己的示例中,它有 14 位数字。如果我检查我的 oracle apex 云帐户上的会话长度,它是 13 位数字长。
我想你不能依赖它的恒定长度,因此,尝试使用这样的东西:
f?p=([0-9]{1,3}):([0-9]{1,3}):([0-9]{10,16}):
甚至这样:
f?p=([0-9]{1,3}):([0-9]{1,3}):([0-9]*):
另请查看以下内容 link 并向下滚动一点。 Guru Jeff Kemp 已经做过类似的事情了。
https://jeffkemponoracle.com/2011/10/07/googlebot-apex-session-ids-and-cookies/
Chris Muir 在他关于专门为 APEX 配置 jmeter 的综合 post 中对此进行了介绍。它已经过时了,但我很确定它仍然有效。
c) sessionId 正则表达式提取器
f?p=([0-9]{1,3}):([0-9]{1,3}):([0-9]{16}):
http://one-size-doesnt-fit-all.blogspot.com.au/2010/05/configuring-apache-jmeter-for-apex.html
这似乎是您尝试过的方法,但似乎可能还有其他设置和注意事项。
- 您需要转义
?
符号,因为它是一个元字符,可能会被解释为重复模式
- 出于某种原因,您尝试提取 16 位长整数,而您的 ID 是 14 位长整数
我会建议以下正则表达式提取器配置:
- 要检查的字段:
URL
- 参考名称:任何有意义的名称,即
id
- 正则表达式:
f\?p=101:1:(\d+):
- 模板:
$
演示:
参考文献:
我正在使用 jmeter 来尝试测试网站。我目前在提取返回的信息时遇到问题。
例如,我将 HTTP 请求发送至:
https://intranet.company.com/Capps/f?p=101:1:
网站响应:
https://intranet.company.com/Capps/f?p=101:1:11016690116729:::::
响应末尾列出的新数字串是我必须用来测试程序其他页面的会话 ID。我一直在尝试使用 reg Ex 提取器,但我似乎无法从 url 中提取数字。我目前使用的是 jmeter 3.1
正则表达式我已经厌倦了:
f?p:101:1:([0-9]{16})::
f?p=([0-9]{1,3}):([0-9]{1,3}):([0-9]{16}):
和各种类似的表达方式,但 none 对我有用。如果我设置没有会话 ID 的网站,它会工作,但网站需要使用会话 ID。
感谢您提供的任何帮助,
Zwils0
我对 jmeter 一无所知,但我猜它支持标准的正则表达式语法。在您的正则表达式中,您需要一个长度恒定为 16 的数字会话 ID。但是,会话 ID 的长度不一定是 16 位数字。在您自己的示例中,它有 14 位数字。如果我检查我的 oracle apex 云帐户上的会话长度,它是 13 位数字长。 我想你不能依赖它的恒定长度,因此,尝试使用这样的东西:
f?p=([0-9]{1,3}):([0-9]{1,3}):([0-9]{10,16}):
甚至这样:
f?p=([0-9]{1,3}):([0-9]{1,3}):([0-9]*):
另请查看以下内容 link 并向下滚动一点。 Guru Jeff Kemp 已经做过类似的事情了。
https://jeffkemponoracle.com/2011/10/07/googlebot-apex-session-ids-and-cookies/
Chris Muir 在他关于专门为 APEX 配置 jmeter 的综合 post 中对此进行了介绍。它已经过时了,但我很确定它仍然有效。
c) sessionId 正则表达式提取器
f?p=([0-9]{1,3}):([0-9]{1,3}):([0-9]{16}):
http://one-size-doesnt-fit-all.blogspot.com.au/2010/05/configuring-apache-jmeter-for-apex.html
这似乎是您尝试过的方法,但似乎可能还有其他设置和注意事项。
- 您需要转义
?
符号,因为它是一个元字符,可能会被解释为重复模式 - 出于某种原因,您尝试提取 16 位长整数,而您的 ID 是 14 位长整数
我会建议以下正则表达式提取器配置:
- 要检查的字段:
URL
- 参考名称:任何有意义的名称,即
id
- 正则表达式:
f\?p=101:1:(\d+):
- 模板:
$
演示:
参考文献: