正则表达式在响应断言和正则表达式提取器Jmeter中失败

时间:2012-07-01 05:00:12

标签: regex jmeter

我的测试中的响应数据有这一行:

<head><title>
    My Title
</title><meta charset

我在Jmeter的内置正则表达式测试仪中检查了这个正则表达式,它找到了标题。

(?m)(?is)<title>\n\tMy Title\n</title>

但是,当我将它用作响应断言时,断言总是失败。

我已尝试“应用于”部分中的所有设置。为“要测试的响应字段”选择“文本响应”。我为“模式匹配规则”选择了“包含”。

我对正则表达式提取器也有一个非常类似的问题 - 所选表达式在测试器中传递,但是使用正则表达式提取器失败。

我认为它可能与响应的多线性有关。

任何指针?

3 个答案:

答案 0 :(得分:4)

尝试使用:

(?<=<title>\s*)(\S.+\S)(?=\s*</title>)查找任何标题

(?<=<title>\s*)(My Title)(?=\s*</title>)用于查找&#39;我的标题&#39;

答案 1 :(得分:2)

尝试以下方法:

Regular Expression: <title>(.+?)</title>
Template: $1$
Match: 1

答案 2 :(得分:0)

尝试改为使用xpath

使用//title/text()等表达式与XPath Extractor一起提取标题值,以及//title[text()='My Title']XPath Assertion之类的表达式。

在这两种情况下,您必须确保使用Tidy(宽容解析器)选项是CHECKED - 因为您正在解析HTML(而不是XML!..)响应。