behat/mink-goutte-driver
Deprecated Mink driver for the Goutte browser client, enabling fast, headless HTTP-based browsing and DOM interaction in Behat/Mink tests. Use for simple crawling/navigation without JavaScript; superseded by behat/mink-browserkit-driver.
behat/mink-goutte-driver is designed to bridge Mink (a BDD testing framework) with Goutte (a PHP web scraper/crawler). In a Laravel context, this could be useful for:
.feature files).HttpTests) are insufficient.behat/mink-browserkit-driver (which uses Symfony’s BrowserKit). This introduces technical debt risk if long-term maintenance is required.phpunit.xml or custom test suites.laravel/browser-kit-testing, this is a third-party solution with no Laravel-specific optimizations.behat/mink (v1.9+) and goutte/goutte (v4.x).symfony/browser-kit or behat/mink-browserkit-driver, this package may introduce redundancy.BrowserKit/HttpClient.behat/mink-browserkit-driver or Laravel’s native testing tools.Http client or Pest/Laravel TestCase.BrowserKit?behat/mink-browserkit-driver or Laravel’s native tools?config, routes) when using Mink?HttpTests or FeatureTests for scraping/BDD scenarios.artisan test with Mink).Illuminate\Support\Facades\Http) or queue workers.symfony/browser-kit (via behat/mink-browserkit-driver) or spatie/browsershot.Http tests or Pest with laravel/browser-kit-testing.laravel/pint, laravel/dusk, or playwright/puppeteer.Short-Term (Immediate Use)
composer require behat/mink-goutte-driver:^2.0 behat/mink:^1.9
use Behat\Mink\Mink;
use Behat\Mink\Session;
use Behat\Mink\Driver\GoutteDriver;
class ScraperTest extends \Tests\TestCase {
protected $mink;
protected function setUp(): void {
$this->mink = new Mink([
'goutte' => new Session(new GoutteDriver(new \Goutte\Client()))
]);
}
public function testScrapeExample() {
$session = $this->mink->getSession('goutte');
$session->visit('https://example.com');
$this->assertEquals('Example Domain', $session->getPage()->getTitle());
}
}
php artisan test --filter=ScraperTest
Medium-Term (Migration to BrowserKit)
behat/mink-goutte-driver with behat/mink-browserkit-driver:
composer require behat/mink-browserkit-driver --dev
BrowserKitDriver:
use Behat\Mink\Driver\BrowserKitDriver;
use Symfony\Component\BrowserKit\HttpBrowser;
$browser = new HttpBrowser();
$driver = new BrowserKitDriver($browser);
BrowserKit for better integration with Laravel’s Http client.Long-Term (Native Laravel Tools)
Http client or Pest if both are used.BrowserKit under the hood (redundant if BrowserKit is already used).BrowserKit or native Laravel tools.behat/mink-browserkit-driver has more support.Pest or ParallelTests).How can I help you explore Laravel packages today?