Codeception PhpBrowser grabAttributeFrom 抛出异常 DOMDocument::loadXML()
Codeception PhpBrowser grabAttributeFrom throws Exception DOMDocument::loadXML()
我将我的测试从 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的解析很严格。我用谷歌搜索了该消息,发现 DOMDocument::loadHtml()
不太严格并且可以使用。
http://php.net/manual/en/domdocument.loadhtml.php
我该如何修复这个 grabAttributeFrom?我需要 HTML 文件的 href/src
属性的内容。
@Naktibalda 的暗示引导我自己做出了决定。这是模块 REST 和 PhpBrowser 的冲突。两个模块都实现了功能grabAttributeFrom
。要获得正确的,您必须更改配置中的顺序,以获得 PhpBrowser 之一:
modules:
enabled:
- REST:
depends: PhpBrowser
url: 'http://www.domain.com'
- PhpBrowser:
url: 'http://www.domain.com'
这对我有用,因为 PhpBrowser 现在否决了构建 AcceptanceTester.php 中的方法。
我将我的测试从 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的解析很严格。我用谷歌搜索了该消息,发现 DOMDocument::loadHtml()
不太严格并且可以使用。
http://php.net/manual/en/domdocument.loadhtml.php
我该如何修复这个 grabAttributeFrom?我需要 HTML 文件的 href/src
属性的内容。
@Naktibalda 的暗示引导我自己做出了决定。这是模块 REST 和 PhpBrowser 的冲突。两个模块都实现了功能grabAttributeFrom
。要获得正确的,您必须更改配置中的顺序,以获得 PhpBrowser 之一:
modules:
enabled:
- REST:
depends: PhpBrowser
url: 'http://www.domain.com'
- PhpBrowser:
url: 'http://www.domain.com'
这对我有用,因为 PhpBrowser 现在否决了构建 AcceptanceTester.php 中的方法。