PHPackages                             walterwhites/php-client-codeception - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. walterwhites/php-client-codeception

ActiveAppium-php[Testing &amp; Quality](/categories/testing)

walterwhites/php-client-codeception
===================================

PHP client for Selenium 3.0/Appium 1.0

v0.3.0(8y ago)036Apache-2.0PHPPHP &gt;=5.3.0

Since Sep 22Pushed 5y ago1 watchersCompare

[ Source](https://github.com/walterwhites/php-client)[ Packagist](https://packagist.org/packages/walterwhites/php-client-codeception)[ Docs](http://github.com/appium/appium-php)[ RSS](/packages/walterwhites-php-client-codeception/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependencies (1)Versions (6)Used By (0)

Appium PHP Client
=================

[](#appium-php-client)

An extension library to add Selenium 3 features to Appium.

The library is installable using the [Composer](https://getcomposer.org/) dependency manager. Just add `"appium/appium-php": "dev-master"` (or any other branch/tag you might like) to your `composer.json` file's `require`s, and the [repository on GitHub](https://github.com/appium/php-client) to the `repositories`:

```
{
    "name": "username/my-php-project",
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/appium/php-client"
        }
    ],
    "require": {
        "appium/php-client": "dev-master"
    }
}
```

Have an instance of Appium running in the background at port 4723. Then install the dependencies and run your tests:

```
composer install
vendor/phpunit/phpunit/phpunit
```

For more details about your tests add the `--verbose` flag to phpunit

Usage and changes
-----------------

[](#usage-and-changes)

There are a number of methods added to [Selenium 3/Appium 1](https://github.com/appium/appium/blob/master/docs/en/migrating-to-1-0.md). The central change is in the test case that serves as the base of your tests, and the elements with which you interact. Both are subclasses of the [PHPUnit Selenium](https://github.com/sebastianbergmann/phpunit-selenium/) classes. Your tests should be subclasses of [PHPUnit\_Extensions\_AppiumTestCase](https://github.com/appium/php-client/blob/master/PHPUnit/Extensions/AppiumTestCase.php), and all elements that get returned will be of the class [PHPUnit\_Extensions\_AppiumTestCase\_Element](https://github.com/appium/php-client/blob/master/PHPUnit/Extensions/AppiumTestCase/Element.php).

```
require_once('PHPUnit/Extensions/AppiumTestCase.php');
require_once('PHPUnit/Extensions/AppiumTestCase/Element.php');

class MySuperTests extends PHPUnit_Extensions_AppiumTestCase
{
    public static $browsers = array(
        array(
            'local' => true,
            'port' => 4723,
            'browserName' => '',
            'desiredCapabilities' => array(
                'app' => APP_PATH
            )
        )
    );

    public function testStuff()
    {
        $element = $this->byAccessibilityId('Element on screen');

        $this->assertInstanceOf('PHPUnit_Extensions_AppiumTestCase_Element', $element);
    }
}
```

Methods added
-------------

[](#methods-added)

### Methods in `PHPUnit_Extensions_AppiumTestCase`

[](#methods-in-phpunit_extensions_appiumtestcase)

- `byIOSUIAutomation`
- `byAndroidUIAutomator`
- `byAccessibilityId`
- `keyEvent`
- `pullFile`
- `pushFile`
- `backgroundApp`
- `isAppInstalled`
- `installApp`
- `removeApp`
- `launchApp`
- `closeApp`
- `endTestCoverage`
- `lock`
- `shake`
- `getDeviceTime`
- `hideKeyboard`
- `initiateTouchAction`
- `initiateMultiAction`
- `scroll`
- `dragAndDrop`
- `swipe`
- `tap`
- `pinch`
- `zoom`
- `startActivity`
- `getSettings`
- `setSettings`

### Methods in `PHPUnit_Extensions_AppiumTestCase_Element`

[](#methods-in-phpunit_extensions_appiumtestcase_element)

- `byIOSUIAutomation`
- `byAndroidUIAutomator`
- `byAccessibilityId`
- `setImmediateValue`

### Methods for Touch Actions and Multi Gesture Touch Actions

[](#methods-for-touch-actions-and-multi-gesture-touch-actions)

Appium 1.0 allows for much more complex ways of interacting with your app through Touch Actions and Multi Gesture Touch Actions. The `PHPUnit_Extensions_AppiumTestCase_TouchAction` class allows for the following events:

- `tap`
- `press`
- `longPress`
- `moveTo`
- `wait`
- `release`

All of these except `tap` and `release` can be chained together to create arbitrarily complex actions. Instances of the `PHPUnit_Extensions_AppiumTestCase_TouchAction` class are obtained through the Test Class's `initiateTouchAction` method, and dispatched through the `perform` method.

The Multi Gesture Touch Action API allows for adding an arbitrary number of Touch Actions to be run in parallel on the device. Individual actions created as above are added to the multi action object (an instance of `PHPUnit_Extensions_AppiumTestCase_MultiAction` obtained from the Test Class's `initiateMultiAction` method) through the `add` method, and the whole thing is dispatched using `perform`.

###  Health Score

25

—

LowBetter than 35% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~550 days

Total

5

Last Release

2098d ago

Major Versions

v0.3.0 → v1.x-dev2020-10-03

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/18416544?v=4)[flo](/maintainers/walterwhites)[@walterwhites](https://github.com/walterwhites)

---

Top Contributors

[![imurchie](https://avatars.githubusercontent.com/u/2614354?v=4)](https://github.com/imurchie "imurchie (20 commits)")[![jlipps](https://avatars.githubusercontent.com/u/605053?v=4)](https://github.com/jlipps "jlipps (18 commits)")[![walterwhites](https://avatars.githubusercontent.com/u/18416544?v=4)](https://github.com/walterwhites "walterwhites (11 commits)")[![dpgraham](https://avatars.githubusercontent.com/u/852574?v=4)](https://github.com/dpgraham "dpgraham (4 commits)")[![benmag](https://avatars.githubusercontent.com/u/4386560?v=4)](https://github.com/benmag "benmag (2 commits)")[![scottdixon](https://avatars.githubusercontent.com/u/59898611?v=4)](https://github.com/scottdixon "scottdixon (2 commits)")[![Jonahss](https://avatars.githubusercontent.com/u/1521841?v=4)](https://github.com/Jonahss "Jonahss (1 commits)")[![pankaj-a](https://avatars.githubusercontent.com/u/9896838?v=4)](https://github.com/pankaj-a "pankaj-a (1 commits)")

---

Tags

phpunitseleniumappium

### Embed Badge

![Health badge](/badges/walterwhites-php-client-codeception/health.svg)

```
[![Health](https://phpackages.com/badges/walterwhites-php-client-codeception/health.svg)](https://phpackages.com/packages/walterwhites-php-client-codeception)
```

###  Alternatives

[phpunit/phpunit

The PHP Unit Testing framework.

20.0k955.1M153.2k](/packages/phpunit-phpunit)[php-webdriver/webdriver

A PHP client for Selenium WebDriver. Previously facebook/webdriver.

5.2k97.4M150](/packages/php-webdriver-webdriver)[brianium/paratest

Parallel testing for PHP

2.5k136.1M960](/packages/brianium-paratest)[phpunit/phpunit-selenium

Selenium Server integration for PHPUnit

61011.1M165](/packages/phpunit-phpunit-selenium)[sauce/sausage

PHP version of the Sauce Labs API

68808.1k3](/packages/sauce-sausage)[appium/php-client

PHP client for Selenium 3.0/Appium 1.0

71676.0k4](/packages/appium-php-client)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
