我在测试中添加了一个响应断言,以点击我们本地站点的主页。我将此添加到响应断言中的“要测试的模式”中:
电子邮件
这很有用。 (为了获得该标签,我在Firefox中查看了源代码并复制了包含所有空格的代码。然后我点击了响应断言的“添加”并将复制的代码直接粘贴到JMeter中。)当我运行我的测试时,我的test将仅通过此标签作为要测试的模式。在JMeter中运行它后,它没有显示红色错误。
但是,当我通过单击“添加”添加以下span标记以在同一响应断言中获取新条目时,测试将失败。
1.7.0.147
因此,为了清楚起见,我有两个条目用于相同的响应断言...一个用于“电子邮件”标签,一个用于“footerVer”范围。在相同的响应断言下,每个都有自己独立的行。
此外,对于大多数通过但未通过的测试,我选择了“仅主样本”,“文本响应”和“包含”。我确实尝试改为“匹配”和“等于”,但我最终得到了不同的错误。所以,我现在想留在“包含”,因为当我选择“包含”时,我的“电子邮件”标签的其他条目有效。
在“查看结果树”下,JMeter在添加span标记时告诉我这个失败:
断言错误:false 断言失败:是的 断言失败消息:测试失败:预期包含/的文本 1.7.0.147 /
我一直在使用其他标签,比如,,,等。
现在只有标签似乎给我一个问题。有什么想法吗?
===============================
添加了配置:
我无法添加完整的响应,因为它不是我的代码,而是公司的代码。但是,我可以试着在这里得到一些东西,让我以不同的方式有用。
这是处理从JMeter中的响应选项卡逐字复制的版本的响应:
<span class="footerVer">
1.7.0.147
</span>
希望有所帮助
答案 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">
© Copyright 2002-2013 Turning Technologies, LLC. All Rights Reserved.
</span>
========================== 我真的不介意前两行。但是,第三行是如此通用,如果不与开始标记结合,它确实没有好处
嗯,现在,我至少可以证实一些事情。另外,我把它留在“包含”上,即使我看了上面发布的另一个链接,因为我所有的其他标签在“包含”时都没有问题。希望这也有助于其他人。