我将我的测试从Codeception 2.0.9更新到2.1.5。
除PhpBrowser::grabAttributeFrom()
方法外,一切正常。我会得到像这样的PHPUnit异常:
[PHPUnit_Framework_Exception] DOMDocument::loadXML(): Entity 'nbsp' not defined in Entity, line: 3
或
[PHPUnit_Framework_Exception] DOMDocument::loadXML(): Opening and ending tag mismatch: img line 141 and a in Entity, line: 142
似乎grabAttributeFrom
对HTML-DOM解析非常严格。我用Google搜索了消息,发现DOMDocument::loadHtml()
有点不那么严格了。
http://php.net/manual/en/domdocument.loadhtml.php
如何修复此grabAttributeFrom?我需要HTML文件的href/src
属性的内容。
答案 0 :(得分:1)
@Naktibalda的暗示引导我自己解决问题。这是REST和PhpBrowser模块的冲突。两个模块都实现了函数grabAttributeFrom
。要获得正确的,你必须更改配置中的顺序,以获得PhpBrowser:
modules:
enabled:
- REST:
depends: PhpBrowser
url: 'http://www.domain.com'
- PhpBrowser:
url: 'http://www.domain.com'
这对我有用,因为PhpBrowser现在推翻了构建的AcceptanceTester.php中的方法。