Skip to content

BrowserKit - DomCrawler dependency problem? #18826

@anlutro

Description

@anlutro

I've got a project running on Travis CI which fails when requiring "browser-kit": "~2.8|~3.0" and doing composer update --prefer-lowest. A plain composer update works fine.

The code being ran is very simple - $this->client is an instance of Symfony\Component\HttpKernel\Client:

$crawler = $this->client->request('GET', '/');

The error I'm getting:

RuntimeException: Unable to filter with a CSS selector as the Symfony CssSelector is not installed (you can use filterXPath instead).
/home/travis/build/autarky/skeleton/vendor/symfony/dom-crawler/Symfony/Component/DomCrawler/Crawler.php:511
/home/travis/build/autarky/skeleton/vendor/symfony/dom-crawler/Symfony/Component/DomCrawler/Crawler.php:123
/home/travis/build/autarky/skeleton/vendor/symfony/dom-crawler/Symfony/Component/DomCrawler/Crawler.php:103
/home/travis/build/autarky/skeleton/vendor/symfony/browser-kit/Client.php:423
/home/travis/build/autarky/skeleton/vendor/symfony/browser-kit/Client.php:336
/home/travis/build/autarky/skeleton/tests/ExampleTest.php:45

I'm not even using CSS filtering, so the error is rather confusing.

I suspect the reason being that browser-kit allows very old versions of the DomCrawler component, which maybe aren't compatible:

"symfony/dom-crawler": "~2.0,>=2.0.5|~3.0.0"

Here's a link to the full Travis CI job: https://travis-ci.org/autarky/skeleton/jobs/131778658#L145

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions