appium/php-client

PHP客户端,用于Selenium 3.0/Appium 1.0

安装数: 659 490

依赖: 5

建议者: 0

安全: 0

星标: 71

关注者: 17

分支: 38

类型:appium-php

v0.3.0 2017-07-13 17:42 UTC

This package is not auto-updated.

Last update: 2024-09-10 07:47:43 UTC


README

一个扩展库,用于将Selenium 3特性添加到Appium。

可以使用Composer依赖管理器安装此库。只需将 "appium/appium-php": "dev-master"(或您可能喜欢的任何分支/标签)添加到您的composer.json文件的require部分,并将GitHub上的仓库添加到repositories

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

如果Appium实例正在后台端口4723上运行,则安装依赖项并运行您的测试

composer install
vendor/phpunit/phpunit/phpunit <mytest.php>

要获取有关您的测试的更多详细信息,请向phpunit添加--verbose标志

用法和更改

为Selenium 3/Appium 1添加了许多方法。主要变化在于作为您的测试基础的测试用例以及与之交互的元素。这两个都是PHPUnit Selenium类的子类。您的测试应该是PHPUnit_Extensions_AppiumTestCase的子类,所有返回的元素都将属于PHPUnit_Extensions_AppiumTestCase_Element类。

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);
    }
}

添加的方法

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

PHPUnit_Extensions_AppiumTestCase_Element中的方法

  • byIOSUIAutomation
  • byAndroidUIAutomator
  • byAccessibilityId
  • setImmediateValue

触摸操作和多手势触摸操作的方法

Appium 1.0允许通过触摸操作和多手势触摸操作以更复杂的方式与您的应用交互。《code>PHPUnit_Extensions_AppiumTestCase_TouchAction类允许以下事件

  • tap
  • press
  • longPress
  • moveTo
  • wait
  • release

所有这些除了taprelease都可以链接在一起以创建任意复杂的行为。通过测试类的initiateTouchAction方法获得PHPUnit_Extensions_AppiumTestCase_TouchAction类的实例,并通过perform方法分发。

多手势触摸操作API允许在设备上并行运行任意数量的触摸操作。通过测试类的initiateMultiAction方法获得的PHPUnit_Extensions_AppiumTestCase_MultiAction实例中添加了上述创建的单独操作(通过add方法添加),并通过perform方法分发整个操作。