function WebAssert::buttonExists

Same name in other branches
  1. 9 core/tests/Drupal/Tests/WebAssert.php \Drupal\Tests\WebAssert::buttonExists()
  2. 8.9.x core/tests/Drupal/Tests/WebAssert.php \Drupal\Tests\WebAssert::buttonExists()
  3. 11.x core/tests/Drupal/Tests/WebAssert.php \Drupal\Tests\WebAssert::buttonExists()

Checks that specific button exists on the current page.

Parameters

string $button: One of id|name|label|value for the button.

\Behat\Mink\Element\TraversableElement $container: (optional) The document to check against. Defaults to the current page.

Return value

\Behat\Mink\Element\NodeElement The matching element.

Throws

\Behat\Mink\Exception\ElementNotFoundException When the element doesn't exist.

File

core/tests/Drupal/Tests/WebAssert.php, line 148

Class

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

Namespace

Drupal\Tests

Code

public function buttonExists($button, ?TraversableElement $container = NULL) {
    if (!is_string($button)) {
        // @todo Trigger deprecation in
        //   https://www.drupal.org/project/drupal/issues/3421105.
        $button = (string) $button;
    }
    $container = $container ?: $this->session
        ->getPage();
    $node = $container->findButton($button);
    if ($node === NULL) {
        throw new ElementNotFoundException($this->session
            ->getDriver(), 'button', 'id|name|label|value', $button);
    }
    return $node;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.