* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Behat\MinkExtension\Context; use Behat\Behat\Context\TranslatableContext; use Behat\Gherkin\Node\TableNode; /** * Mink context for Behat BDD tool. * Provides Mink integration and base step definitions. * * @author Konstantin Kudryashov */ class MinkContext extends RawMinkContext implements TranslatableContext { /** * Opens homepage * Example: Given I am on "/" * Example: When I go to "/" * Example: And I go to "/" * * @Given /^(?:|I )am on (?:|the )homepage$/ * @When /^(?:|I )go to (?:|the )homepage$/ */ public function iAmOnHomepage() { $this->visitPath('/'); } /** * Opens specified page * Example: Given I am on "http://batman.com" * Example: And I am on "/articles/isBatmanBruceWayne" * Example: When I go to "/articles/isBatmanBruceWayne" * * @Given /^(?:|I )am on "(?P[^"]+)"$/ * @When /^(?:|I )go to "(?P[^"]+)"$/ */ public function visit($page) { $this->visitPath($page); } /** * Reloads current page * Example: When I reload the page * Example: And I reload the page * * @When /^(?:|I )reload the page$/ */ public function reload() { $this->getSession()->reload(); } /** * Moves backward one page in history * Example: When I move backward one page * * @When /^(?:|I )move backward one page$/ */ public function back() { $this->getSession()->back(); } /** * Moves forward one page in history * Example: And I move forward one page * * @When /^(?:|I )move forward one page$/ */ public function forward() { $this->getSession()->forward(); } /** * Presses button with specified id|name|title|alt|value * Example: When I press "Log In" * Example: And I press "Log In" * * @When /^(?:|I )press "(?P