function BrowserTestBase::initMink
Same name in other branches
- 9 core/tests/Drupal/Tests/BrowserTestBase.php \Drupal\Tests\BrowserTestBase::initMink()
- 8.9.x core/tests/Drupal/Tests/BrowserTestBase.php \Drupal\Tests\BrowserTestBase::initMink()
- 10 core/tests/Drupal/Tests/BrowserTestBase.php \Drupal\Tests\BrowserTestBase::initMink()
Initializes Mink sessions.
2 calls to BrowserTestBase::initMink()
- BrowserTestBase::setUp in core/
tests/ Drupal/ Tests/ BrowserTestBase.php - WebDriverTestBase::initMink in core/
tests/ Drupal/ FunctionalJavascriptTests/ WebDriverTestBase.php - Initializes Mink sessions.
1 method overrides BrowserTestBase::initMink()
- WebDriverTestBase::initMink in core/
tests/ Drupal/ FunctionalJavascriptTests/ WebDriverTestBase.php - Initializes Mink sessions.
File
-
core/
tests/ Drupal/ Tests/ BrowserTestBase.php, line 216
Class
- BrowserTestBase
- Provides a test case for functional Drupal tests.
Namespace
Drupal\TestsCode
protected function initMink() {
$driver = $this->getDefaultDriverInstance();
if ($driver instanceof BrowserKitDriver) {
// Turn off curl timeout. Having a timeout is not a problem in a normal
// test running, but it is a problem when debugging. Also, disable SSL
// peer verification so that testing under HTTPS always works.
/** @var \GuzzleHttp\Client $client */
$client = $this->container
->get('http_client_factory')
->fromOptions([
'timeout' => NULL,
'verify' => FALSE,
]);
// Inject a Guzzle middleware to generate debug output for every request
// performed in the test.
$handler_stack = $client->getConfig('handler');
$handler_stack->push($this->getResponseLogHandler());
$driver->getClient()
->setClient($client);
}
$selectors_handler = new SelectorsHandler([
'hidden_field_selector' => new HiddenFieldSelector(),
]);
$session = new Session($driver, $selectors_handler);
$this->mink = new Mink();
$this->mink
->registerSession('default', $session);
$this->mink
->setDefaultSessionName('default');
$this->registerSessions();
$this->initFrontPage();
// Copies cookies from the current environment, for example, XDEBUG_SESSION
// in order to support Xdebug.
// @see BrowserTestBase::initFrontPage()
$cookies = $this->extractCookiesFromRequest(\Drupal::request());
foreach ($cookies as $cookie_name => $values) {
foreach ($values as $value) {
$session->setCookie($cookie_name, $value);
}
}
return $session;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.