Behat / Mink:我如何评估xml响应

时间:2013-05-21 10:05:54

标签: testing symfony bdd behat

我正在尝试通过Behat / Mink测试RSS提要。不幸的是我一直收到错误消息:

  

当前节点列表为空。

有没有人知道如何通过Behat / Mink测试XML响应(在xml中搜索字符串)?

修改

我需要找到一些方法,最好是让它与Behat / Mink一起运行。 但如果那根本不可能,我也可以忍受一种解决方法。 关于如何做到这一点的一个例子会很棒!

3 个答案:

答案 0 :(得分:6)

在FeatureContext.php文件中您可以通过

获取原始内容
$xml = $this->getSession()->getDriver()->getContent();

然后您可以使用Regex / DomDocument来测试返回的xml内容。

答案 1 :(得分:3)

Mink是一个浏览器模拟抽象层。有些浏览器可以读取RSS,有些则不能。解析自定义XML不是Mink的责任。使用Behat + Web爬虫+ DomDocument(或任何PHP RSS解析器)的组合。

答案 2 :(得分:1)

正如@everzet所说,Mink不是最好的工具,因为它是一个浏览器模拟器而不是http客户端。

您不仅限于Mink,您可以使用任何PHP http客户端(例如guzzlebuzz)甚至file_get_contents()来获取RSS订阅源。