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 中的方法。