我成功地在我的XPath测试中添加了一个JMeter抽取器。现在,我收到了JMeter.log中的错误,抱怨我们的网页中有两个html标签。这些标记是由我们创建的,是我们可以在代码中使用的标记。但是,JMeter不喜欢他们。有什么地方我可以输入这些标签让JMeter知道排除检查它们。
假设这些标签是:
xxxxx和xxxxx
下面是JMeter日志信息:
2014/01/29 14:27:18警告- jmeter.util.XPathUtil:整齐错误:行25列4-错误:不识别!第255行第18栏-错误:不被识别!InputStream: Doctype给出的是“InputStream:文档内容看起来像HTML4.01过渡性33条警告,发现了2个错误!此文档在使用HTML生成整理版本之前必须修复错误。
如果我在测试中禁用了XPath抽取器,我就不会再得到这些错误。所以,我知道XPath抽油车带来了这个。但是,为了获得运行测试所需的其他信息,我需要XPath抽取器。所以,我不能移除它。我怎么能忽略这两个新的错误呢?
我以前使用过HTML断言,并将不同项目的错误阈值设置为2。但是,这在这里似乎没有帮助。
*编辑:此外,我在XPath抽取器上为"XML解析选项“检查了"Use”。
发布于 2014-01-30 11:21:00
根据错误的WARN级别,您似乎已经检查了Show warnings或Report Errors,或者两者都选中了。
如果您的页面不兼容XHTML/XML,则需要检查Use Tidy。
如果您的服务器响应从Tidy的角度来看“太坏”,您可以考虑使用以下post处理器来获取所需的数据:
一般来说,我建议使用HTML断言检查页面,因为描述的情况对我来说是一个真正的问题。被严重破坏的页面可能会被错误地呈现,而不是被搜索引擎拾取等等。
发布于 2014-01-30 12:51:29
德米特里的回答已经正确了。我只是想补充一下我所做的来解决我的问题,因为它可能会帮助别人。
最后,我成功地使用了正则表达式提取器(最后:-)。我无意中发现了这一页,它非常有用:
http://jmeter.apache.org/usermanual/regular_expressions.html
( section 20.2 )因此,在JMeter中,我将正则表达式抽取器作为子表达式添加到我试图从其中提取信息的HTTP请求中。然后,我的新好友是视图结果树下的XPath测试器和RegExp测试器。这使得快速测试表达式是否正确变得更加容易。在正则表达式抽取器的正则表达式字段中,我得到了这样的结果:
name="token" value="(.+?)"我还意识到,对于那些将来阅读这篇文章的人来说,如果你在网上找到的其中一个表达式不适合你,你可以建立一个表达式。当然,我从那一页上找到了我的,但我也发现,如果我不是这么幸运的话,我还能建立起自己的能力。我什么意思?
在我发现JMeter站点中显示示例的那个部分之前,我尝试了以下方法:
1. Ran my test
2. Looked at View Results Tree I added to the HTTP Request I was trying to pull the value from
3. In the View Results Tree, I clicked on drop down to change it to RegExp Tester
4. Started typing in many things to see what would match and not match into the RegExp Tester. I tried:
4a. id="token" and this retrieved information
4b. id="token"/@value and this did not retrieve anything
4c. name="token" and this retrieved information
4d. name="token" value="(.+?)" and this retrieved the data I was after希望这能帮到别人!
https://stackoverflow.com/questions/21441006
复制相似问题