我試圖通過Behat/Mink測試RSS feed。不幸的是我總是收到錯誤信息:Behat/Mink:我如何評估xml響應
當前節點列表爲空。
有誰知道如何通過Behat/Mink測試XML響應(在xml中搜索字符串)嗎?
編輯
我需要找到某種方式,和最好是把它與貝哈特/水貂運行。 但是,如果那根本不可能,我也可以與解決方法生活在一起。 如何做到這一點的例子會很棒!
我試圖通過Behat/Mink測試RSS feed。不幸的是我總是收到錯誤信息:Behat/Mink:我如何評估xml響應
當前節點列表爲空。
有誰知道如何通過Behat/Mink測試XML響應(在xml中搜索字符串)嗎?
編輯
我需要找到某種方式,和最好是把它與貝哈特/水貂運行。 但是,如果那根本不可能,我也可以與解決方法生活在一起。 如何做到這一點的例子會很棒!
在你FeatureContext.php文件可以通過
$xml = $this->getSession()->getDriver()->getContent();
獲得原始內容,然後你可以使用正則表達式/的DomDocument測試返回的XML內容。
水貂是一個瀏覽器仿真抽象層。有些瀏覽器可以閱讀RSS,有些則不可以。解析自定義XML不是Mink責任。使用Behat + Web爬蟲+ DomDocument(或任何PHP RSS解析器)的組合。
感謝您的提示!你能描述一下如何將這個功能添加到我的功能上下文中(在我的例子中擴展了MinkContext)?我不是在談論如何解析XML,而是如何檢索http響應的內容。所有我在我的上下文中是session :: getPage,它不會幫助我... – stoefln
@stoefln使用任何http客戶端甚至file_get_contents()來獲取rss提要。 –
@JakubZalas啊好的,只是發現我可以在上下文中用$ this-> getSession() - > getCurrentUrl()獲取當前的URL。這可以工作...如果你想創建一個答案,我可以給你的獎金... – stoefln