JMeter在Response Assertion中出现span标记

时间:2013-12-19 14:41:48

标签: jmeter response html assertion

我在测试中添加了一个响应断言,以点击我们本地站点的主页。我将此添加到响应断言中的“要测试的模式”中:

                            电子邮件                         

这很有用。 (为了获得该标签,我在Firefox中查看了源代码并复制了包含所有空格的代码。然后我点击了响应断言的“添加”并将复制的代码直接粘贴到JMeter中。)当我运行我的测试时,我的test将仅通过此标签作为要测试的模式。在JMeter中运行它后,它没有显示红色错误。

但是,当我通过单击“添加”添加以下span标记以在同一响应断言中获取新条目时,测试将失败。

        1.7.0.147     

因此,为了清楚起见,我有两个条目用于相同的响应断言...一个用于“电子邮件”标签,一个用于“footerVer”范围。在相同的响应断言下,每个都有自己独立的行。

此外,对于大多数通过但未通过的测试,我选择了“仅主样本”,“文本响应”和“包含”。我确实尝试改为“匹配”和“等于”,但我最终得到了不同的错误。所以,我现在想留在“包含”,因为当我选择“包含”时,我的“电子邮件”标签的其他条目有效。

在“查看结果树”下,JMeter在添加span标记时告诉我这个失败:

断言错误:false 断言失败:是的 断言失败消息:测试失败:预期包含/的文本         1.7.0.147     /

我一直在使用其他标签,比如,,,等。

现在只有标签似乎给我一个问题。有什么想法吗?

===============================

添加了配置:

enter image description here

我无法添加完整的响应,因为它不是我的代码,而是公司的代码。但是,我可以试着在这里得到一些东西,让我以不同的方式有用。

这是处理从JMeter中的响应选项卡逐字复制的版本的响应:

<span class="footerVer">
    1.7.0.147
</span>

希望有所帮助

3 个答案:

答案 0 :(得分:3)

我建议使用XPath assertions进行多行HTML实体解析,因为页面源可能会有所不同,处理片状HTML代码会很麻烦。

在XPath表达式后验证带有footerVer类的span的内部文本是否等于1.7.0.147

//span[@class='footerVer']/text()='1.7.0.147'

答案 1 :(得分:0)

使用子字符串而不是包含模式匹配规则:

答案 2 :(得分:0)

所以,我找到了解决这个问题的方法。虽然,我不认为这是验证测试的最有效方法。我将跨度分成响应断言中的3个单独的行。

<span class="copyright marginLeft_100">

&copy; Copyright 2002-2013 Turning Technologies, LLC. All Rights Reserved.

</span>

========================== 我真的不介意前两行。但是,第三行是如此通用,如果不与开始标记结合,它确实没有好处

嗯,现在,我至少可以证实一些事情。另外,我把它留在“包含”上,即使我看了上面发布的另一个链接,因为我所有的其他标签在“包含”时都没有问题。希望这也有助于其他人。