Skip to content

Commit 7a9a6cb

Browse files
committed
Remove Goutte support
Squash-merge of FriendsOfBehat#40. commit 843a686 Author: Matthias Pigulla <mp@webfactory.de> Date: Wed Dec 17 10:03:25 2025 +0100 Remove Goutte support
1 parent c4cff4a commit 7a9a6cb

File tree

8 files changed

+11
-237
lines changed

8 files changed

+11
-237
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog for FriendsOfBehat/MinkExtension
22

3+
## Version 3.0.0
4+
5+
* [BC break] Goutte support has been removed.
6+
37
## Version 2.8.0
48

59
* The classes `FailureShowListener`, `SessionsListener` and `MinkExtension` have been marked as `@final`, and they will become

behat.yml.dist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ default:
88
base_url: http://en.wikipedia.org/
99
sessions:
1010
default:
11-
goutte: ~
11+
browserkit_http: ~

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
"symfony/deprecation-contracts": "^3.6"
3333
},
3434
"require-dev": {
35-
"behat/mink-goutte-driver": "^1.1 || ^2.0",
35+
"behat/mink-browserkit-driver": "^2.0",
3636
"phpspec/phpspec": "^7.0 || ^8.0",
3737
"mink/webdriver-classic-driver": "^1.0@dev"
3838
},

doc/index.md

Lines changed: 0 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,6 @@ Configuration settings depend on the Mink driver being used. Out of the box, Min
159159
>
160160
> But if you're using Composer, you need to install drivers that you need first:
161161
>
162-
> - GoutteDriver - `behat/mink-goutte-driver`
163162
> - SeleniumDriver - `behat/mink-selenium-driver`
164163
> - Selenium2Driver (also used for SauceLabs and BrowserStack) - `behat/mink-selenium2-driver`
165164
> - SahiDriver - `behat/mink-sahi-driver`
@@ -177,54 +176,6 @@ Configuration settings depend on the Mink driver being used. Out of the box, Min
177176
browserkit_http: ~
178177
```
179178
180-
* **[deprecated] GoutteDriver** - headless driver without JavaScript support. In order to use it, install [`behat/mink-goutte-driver`](https://packagist.org/packages/behat/mink-goutte-driver) through Composer. Then, modify your `behat.yml` profile:
181-
182-
```yaml
183-
default:
184-
extensions:
185-
Behat\MinkExtension:
186-
sessions:
187-
my_session:
188-
goutte: ~
189-
```
190-
191-
**Warning: Goutte has been abandoned**
192-
193-
Goutte has been abandoned, and so Goutte support has been deprecated. It will
194-
be removed in the next major version of this extension.
195-
196-
**Tips: HTTPS and self-signed certificate**
197-
198-
If you use Behat/Mink/Goutte to test your application, and want to test an
199-
application secured with HTTPS, but with a self-signed certificate, you can use
200-
the following parameters to avoid the validation error triggered by Guzzle:
201-
202-
* For **Guzzle 4** or later:
203-
204-
```yaml
205-
default:
206-
extensions:
207-
Behat\MinkExtension:
208-
sessions:
209-
my_session:
210-
goutte:
211-
guzzle_parameters:
212-
verify: false
213-
```
214-
215-
* For **Guzzle 3** or earlier:
216-
217-
```yaml
218-
default:
219-
extensions:
220-
Behat\MinkExtension:
221-
sessions:
222-
my_session:
223-
goutte:
224-
guzzle_parameters:
225-
ssl.certificate_authority: false
226-
```
227-
228179
* **Selenium2Driver** - javascript driver. In order to use it, install [`behat/mink-selenium2-driver`](https://packagist.org/packages/behat/mink-selenium2-driver) through Composer. Then, modify your `behat.yml` profile:
229180
230181
```yaml

spec/Behat/MinkExtension/Listener/SessionsListenerSpec.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class SessionsListenerSpec extends ObjectBehavior
1515
{
1616
function let(Mink $mink, ScenarioTested $event, FeatureNode $feature, ScenarioNode $scenario, Suite $suite)
1717
{
18-
$this->beConstructedWith($mink, 'goutte', 'selenium2', array('selenium2', 'sahi'));
18+
$this->beConstructedWith($mink, 'browserkit_http', 'selenium2', array('selenium2', 'sahi'));
1919

2020
$event->getSuite()->willReturn($suite);
2121
$event->getFeature()->willReturn($feature);
@@ -38,7 +38,7 @@ function it_is_an_event_subscriber()
3838
function it_resets_the_default_session_before_scenarios($event, $mink)
3939
{
4040
$mink->resetSessions()->shouldBeCalled();
41-
$mink->setDefaultSessionName('goutte')->shouldBeCalled();
41+
$mink->setDefaultSessionName('browserkit_http')->shouldBeCalled();
4242

4343
$this->prepareDefaultMinkSession($event);
4444
}
@@ -120,7 +120,7 @@ function it_fails_for_invalid_javascript_suite_session($event, $scenario, $suite
120120
function it_fails_when_the_javascript_session_is_used_but_not_defined($event, $mink, $feature, $suite)
121121
{
122122
$suite->hasSetting('mink_javascript_session')->willReturn(false);
123-
$this->beConstructedWith($mink, 'goutte', null);
123+
$this->beConstructedWith($mink, 'browserkit_http', null);
124124
$feature->getTags()->willReturn(array('javascript'));
125125

126126
$this->shouldThrow(new ProcessingException('The @javascript tag cannot be used without enabling a javascript session'))
@@ -151,7 +151,7 @@ function it_stops_the_sessions_for_insulated_scenarios($event, $mink, $scenario)
151151
{
152152
$scenario->hasTag('insulated')->willReturn(true);
153153
$mink->stopSessions()->shouldBeCalled();
154-
$mink->setDefaultSessionName('goutte')->shouldBeCalled();
154+
$mink->setDefaultSessionName('browserkit_http')->shouldBeCalled();
155155

156156
$this->prepareDefaultMinkSession($event);
157157
}
@@ -160,7 +160,7 @@ function it_stops_the_sessions_for_insulated_features($event, $mink, $feature)
160160
{
161161
$feature->hasTag('insulated')->willReturn(true);
162162
$mink->stopSessions()->shouldBeCalled();
163-
$mink->setDefaultSessionName('goutte')->shouldBeCalled();
163+
$mink->setDefaultSessionName('browserkit_http')->shouldBeCalled();
164164

165165
$this->prepareDefaultMinkSession($event);
166166
}

spec/Behat/MinkExtension/ServiceContainer/Driver/GoutteFactorySpec.php

Lines changed: 0 additions & 23 deletions
This file was deleted.

src/Behat/MinkExtension/ServiceContainer/Driver/GoutteFactory.php

Lines changed: 0 additions & 156 deletions
This file was deleted.

src/Behat/MinkExtension/ServiceContainer/MinkExtension.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
use Behat\MinkExtension\ServiceContainer\Driver\BrowserKitFactory;
1616
use Behat\MinkExtension\ServiceContainer\Driver\BrowserStackFactory;
1717
use Behat\MinkExtension\ServiceContainer\Driver\DriverFactory;
18-
use Behat\MinkExtension\ServiceContainer\Driver\GoutteFactory;
1918
use Behat\MinkExtension\ServiceContainer\Driver\SahiFactory;
2019
use Behat\MinkExtension\ServiceContainer\Driver\SauceLabsFactory;
2120
use Behat\MinkExtension\ServiceContainer\Driver\Selenium2Factory;
@@ -55,7 +54,6 @@ class MinkExtension implements ExtensionInterface
5554

5655
public function __construct()
5756
{
58-
$this->registerDriverFactory(new GoutteFactory());
5957
$this->registerDriverFactory(new BrowserKitFactory());
6058
$this->registerDriverFactory(new SahiFactory());
6159
$this->registerDriverFactory(new SeleniumFactory());

0 commit comments

Comments
 (0)