# Contributing to php-webdriver We love to have your help to make php-webdriver better! Feel free to open an [issue](https://github.com/facebook/php-webdriver/issues) if you run into any problem, or send a pull request (see bellow) with your contribution. ## Workflow when contributing a patch 1. Fork the project on GitHub 2. Implement your code changes into separate branch 3. Make sure all PHPUnit tests passes and code-style matches PSR-2 (see below). We also have Travis CI build which will automatically run tests on your pull request. 4. When implementing notable change, fix or a new feature, add record to Unreleased section of [CHANGELOG.md](CHANGELOG.md) 5. Submit your [pull request](https://github.com/facebook/php-webdriver/pulls) against community branch Note before any pull request can be accepted, a [Contributors Licensing Agreement](http://developers.facebook.com/opensource/cla) must be signed. When you are going to contribute, please keep in mind that this webdriver client aims to be as close as possible to other languages Java/Ruby/Python/C#. FYI, here is the overview of [the official Java API](http://seleniumhq.github.io/selenium/docs/api/java/) ### Run unit tests There are two test-suites: one with unit tests only, second with functional tests, which require running selenium server. To execute all tests simply run: ./vendor/bin/phpunit If you want to execute just the unit tests, run: ./vendor/bin/phpunit --testsuite unit For the functional tests you must first download and start the selenium server, then run the `functional` test suite: java -jar selenium-server-standalone-2.48.2.jar -log selenium.log & ./vendor/bin/phpunit --testsuite functional ### Check coding style Your code-style should comply with [PSR-2](http://www.php-fig.org/psr/psr-2/). To make sure your code matches this requirement run: ./vendor/bin/php-cs-fixer fix --diff --dry-run ./vendor/bin/phpcs --standard=PSR2 ./lib/ ./tests/