后视的 Jmeter 正则表达式提取器替代选项

Jmeter regex extractor alternate option for lookbehind

我正在尝试从响应中提取会话 ID 的值 header.Is 除了在 jemeter 中使用 lookbehind 之外还有其他方法吗? 我在 regexformatter 中验证了我的正则表达式,它按预期工作,但由于 jmeter 不支持 lookbehind,该解决方案对我不起作用。

响应头:

Expires: 0
X-Frame-Options: DENY
x-session-id: 1a5e099f-5234-4
X-Application-Context: test:8080

使用的正则表达式是:

  (?<=x-session-id: ).{0,16}

有人可以帮我吗?

假设会话 ID 中的最后一个字符是数字。然后您可以使用以下内容。如果您认为会话 ID 中的第二组将是数字,则将第二个 \w+ 替换为 \d+,它将达到目的。如果您认为其他数据集可能无法通过此正则表达式,请告诉我。

正则表达式:(?:\w+-\w+-\d+)

看来您对正则表达式有所了解,所以不提解释。如果这对您不起作用,请告诉我。我会尝试想出另一种方法,但在那种情况下请提供更多数据集。祝你好运。

Regular Expression Extractor配置应该是这个:

正则表达式:

x-session-id: (.*)

根据Regular Expressions chapter of the JMeter User Manual

Note that (?<=regexp) - lookbehind - is not supported.

所以你可以只使用类似的东西:x-session-id:\s+(.+) 它应该可以正常工作:

更多信息:Using Regular Expressions to Extract Tokens and Session IDs to Variables