Skip to content

Instantly share code, notes, and snippets.

@ashleydw
Last active August 29, 2015 14:17
Show Gist options
  • Save ashleydw/04013b1b95ec7e4b2336 to your computer and use it in GitHub Desktop.
Save ashleydw/04013b1b95ec7e4b2336 to your computer and use it in GitHub Desktop.
Capture screenshots using Event Firing Webdriver
<?php
$webdriver = new EventFiringWebDriver(
RemoteWebDriver::create(
'http://localhost:9515',
DesiredCapabilities::phantomjs()
)
);
$webdriver->getDispatcher()->register(new SeleniumEventListener());
// where:
class SeleniumEventListener implements WebDriverEventListener {
public function onException(
WebDriverException $exception,
EventFiringWebDriver $driver = null
) {
if ($driver) {
$name = urlencode($driver->getCurrentUrl());
$driver->takeScreenshot(".data/{$name}.jpg");
}
}
public function beforeNavigateTo($url, EventFiringWebDriver $driver) { }
public function afterNavigateTo($url, EventFiringWebDriver $driver) { }
public function beforeNavigateBack(EventFiringWebDriver $driver) { }
public function afterNavigateBack(EventFiringWebDriver $driver) { }
public function beforeNavigateForward(EventFiringWebDriver $driver) { }
public function afterNavigateForward(EventFiringWebDriver $driver) { }
public function beforeFindBy(WebDriverBy $by, $element, EventFiringWebDriver $driver) { }
public function afterFindBy(WebDriverBy $by, $element, EventFiringWebDriver $driver) { }
public function beforeScript($script, EventFiringWebDriver $driver) { }
public function afterScript($script, EventFiringWebDriver $driver) { }
public function beforeClickOn(EventFiringWebElement $element) { }
public function afterClickOn(EventFiringWebElement $element) { }
public function beforeChangeValueOf(EventFiringWebElement $element) { }
public function afterChangeValueOf(EventFiringWebElement $element) { }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment