You are here

public function JSWebAssert::waitForElement in Drupal 8

Same name and namespace in other branches
  1. 9 core/tests/Drupal/FunctionalJavascriptTests/JSWebAssert.php \Drupal\FunctionalJavascriptTests\JSWebAssert::waitForElement()
  2. 10 core/tests/Drupal/FunctionalJavascriptTests/JSWebAssert.php \Drupal\FunctionalJavascriptTests\JSWebAssert::waitForElement()

Waits for the specified selector and returns it when available.

Parameters

string $selector: The selector engine name. See ElementInterface::findAll() for the supported selectors.

string|array $locator: The selector locator.

int $timeout: (Optional) Timeout in milliseconds, defaults to 10000.

Return value

\Behat\Mink\Element\NodeElement|null The page element node if found, NULL if not.

See also

\Behat\Mink\Element\ElementInterface::findAll()

4 calls to JSWebAssert::waitForElement()
JSWebAssert::waitForButton in core/tests/Drupal/FunctionalJavascriptTests/JSWebAssert.php
Waits for a button (input[type=submit|image|button|reset], button) with specified locator and returns it.
JSWebAssert::waitForField in core/tests/Drupal/FunctionalJavascriptTests/JSWebAssert.php
Waits for a field with specified locator and returns it when available.
JSWebAssert::waitForId in core/tests/Drupal/FunctionalJavascriptTests/JSWebAssert.php
Waits for an element by its id and returns it when available.
JSWebAssert::waitForLink in core/tests/Drupal/FunctionalJavascriptTests/JSWebAssert.php
Waits for a link with specified locator and returns it when available.

File

core/tests/Drupal/FunctionalJavascriptTests/JSWebAssert.php, line 64

Class

JSWebAssert
Defines a class with methods for asserting presence of elements during tests.

Namespace

Drupal\FunctionalJavascriptTests

Code

public function waitForElement($selector, $locator, $timeout = 10000) {
  $page = $this->session
    ->getPage();
  $result = $page
    ->waitFor($timeout / 1000, function () use ($page, $selector, $locator) {
    return $page
      ->find($selector, $locator);
  });
  return $result;
}