Behat step: I should see the CSS selector

Example usage:

When I click the element with CSS selector ".something-clickable"
I should see the CSS selector ".my-selector"
And I should not see the CSS selector ".my-other-selector"
<?php
 
/**
   * @Then /^I should see the css selector "([^"]*)"$/
   * @Then /^I should see the CSS selector "([^"]*)"$/
   */
 
public function iShouldSeeTheCssSelector($css_selector) {
   
$element = $this->getSession()->getPage()->find("css", $css_selector);
    if (empty(
$element)) {
      throw new \
Exception(sprintf("The page '%s' does not contain the css selector '%s'", $this->getSession()->getCurrentUrl(), $css_selector));
    }
  }

 
/**
   * @Then /^I should not see the css selector "([^"]*)"$/
   * @Then /^I should not see the CSS selector "([^"]*)"$/
   */
 
public function iShouldNotSeeAElementWithCssSelector($css_selector) {
   
$element = $this->getSession()->getPage()->find("css", $css_selector);
    if (empty(
$element)) {
      throw new \
Exception(sprintf("The page '%s' contains the css selector '%s'", $this->getSession()->getCurrentUrl(), $css_selector));
    }
  }

 
/**
   *
   * @When /^(?:|I )click the element with CSS selector "([^"]*)"$/
   * @When /^(?:|I )click the element with css selector "([^"]*)"$/
   */
 
public function iClickTheElementWithCssSelector($css_selector) {
   
$element = $this->getSession()->getPage()->find("css", $css_selector);
    if (empty(
$element)) {
      throw new \
Exception(sprintf("The page '%s' does not contain the css selector '%s'", $this->getSession()->getCurrentUrl(), $css_selector));
    }
   
$element->click();
  }
?>

Add new comment

Plain text

  • No HTML tags allowed.
  • Lines and paragraphs break automatically.