1.0.0 2013-05-02 14:13 UTC


This is a PHP 5.3 wrapper around Selenium 2 WebDriver Server via the wire protocol.

It is useful, reasonably well-tested, cleanly built and extensible. Although it does not wrap everything yet, it can be used right now and trivially subclassed to meet any additional requirements (although a fork and a pull request would also be appreciated).

The library is quite easy to use with any test framework, but there is an inherit-and-go base class for PHPUnit.


Download the latest selenium-server-standalone jar and leave it running with java -jar path/to/the.jar.


use \Xi\Test\Selenium\SeleniumServer,

// An autoloader with the proper search paths is assumed

$server = new SeleniumServer('http://localhost:4444/wd/hub');
$browser = new WebDriver($server);
$browser->find('form#login button[type=submit]')->click();
$browser->waitForText('Welcome john');

API documentation is available.

With PHPUnit, just extend \Xi\Test\Selenium\PHPUnit\WebDriverTestCase and use $this->browser.

These scripts may be useful:


The following libraries aim to do what we do.