Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save delphian/6255239 to your computer and use it in GitHub Desktop.

Select an option

Save delphian/6255239 to your computer and use it in GitHub Desktop.

Revisions

  1. delphian created this gist Aug 17, 2013.
    25 changes: 25 additions & 0 deletions mink-nodeelement-mouseover-replacement.php
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,25 @@
    /**
    * More reliable way to hover over an element. Talk to selenium directly.
    *
    * @param string $selector
    * CSS selector.
    * @param int $sleep
    * Number of seconds to sleep after hover is initiated. Allows some
    * slower third party javascript to do its thing before moving on
    * with more test steps.
    *
    * @see https://code.google.com/p/selenium/wiki/JsonWireProtocol
    * @see https://github.com/facebook/php-webdriver
    */
    protected function mouseOver($selector, $sleep = 0)
    {
    // This returns a WebDriver\Session instance.
    $driverSession = $this->getSession()->getDriver()->getWebDriverSession();
    $element = $driverSession->element('css selector', $selector);
    $driverSession->moveto(array('element' => $element->getID()));

    // Allow any slow javascript to do its thing.
    if ($sleep) {
    sleep($sleep);
    }
    }