All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.appium.java_client.android.options.UiAutomator2Options Maven / Gradle / Ivy

There is a newer version: 9.3.0
Show newest version
/*
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * See the NOTICE file distributed with this work for additional
 * information regarding copyright ownership.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package io.appium.java_client.android.options;

import io.appium.java_client.android.options.adb.SupportsAdbExecTimeoutOption;
import io.appium.java_client.android.options.adb.SupportsAdbPortOption;
import io.appium.java_client.android.options.adb.SupportsAllowDelayAdbOption;
import io.appium.java_client.android.options.adb.SupportsBuildToolsVersionOption;
import io.appium.java_client.android.options.adb.SupportsClearDeviceLogsOnStartOption;
import io.appium.java_client.android.options.adb.SupportsIgnoreHiddenApiPolicyErrorOption;
import io.appium.java_client.android.options.adb.SupportsLogcatFilterSpecsOption;
import io.appium.java_client.android.options.adb.SupportsLogcatFormatOption;
import io.appium.java_client.android.options.adb.SupportsMockLocationAppOption;
import io.appium.java_client.android.options.adb.SupportsRemoteAdbHostOption;
import io.appium.java_client.android.options.adb.SupportsSkipLogcatCaptureOption;
import io.appium.java_client.android.options.adb.SupportsSuppressKillServerOption;
import io.appium.java_client.android.options.app.SupportsAllowTestPackagesOption;
import io.appium.java_client.android.options.app.SupportsAndroidInstallTimeoutOption;
import io.appium.java_client.android.options.app.SupportsAppActivityOption;
import io.appium.java_client.android.options.app.SupportsAppWaitDurationOption;
import io.appium.java_client.android.options.app.SupportsAppPackageOption;
import io.appium.java_client.android.options.app.SupportsAppWaitActivityOption;
import io.appium.java_client.android.options.app.SupportsAppWaitForLaunchOption;
import io.appium.java_client.android.options.app.SupportsAppWaitPackageOption;
import io.appium.java_client.android.options.app.SupportsAutoGrantPermissionsOption;
import io.appium.java_client.android.options.app.SupportsEnforceAppInstallOption;
import io.appium.java_client.android.options.app.SupportsIntentActionOption;
import io.appium.java_client.android.options.app.SupportsIntentCategoryOption;
import io.appium.java_client.android.options.app.SupportsIntentFlagsOption;
import io.appium.java_client.android.options.app.SupportsOptionalIntentArgumentsOption;
import io.appium.java_client.android.options.app.SupportsRemoteAppsCacheLimitOption;
import io.appium.java_client.android.options.app.SupportsUninstallOtherPackagesOption;
import io.appium.java_client.android.options.avd.SupportsAvdArgsOption;
import io.appium.java_client.android.options.avd.SupportsAvdEnvOption;
import io.appium.java_client.android.options.avd.SupportsAvdLaunchTimeoutOption;
import io.appium.java_client.android.options.avd.SupportsAvdOption;
import io.appium.java_client.android.options.avd.SupportsAvdReadyTimeoutOption;
import io.appium.java_client.android.options.avd.SupportsGpsEnabledOption;
import io.appium.java_client.remote.options.SupportsIsHeadlessOption;
import io.appium.java_client.android.options.avd.SupportsNetworkSpeedOption;
import io.appium.java_client.android.options.context.SupportsAutoWebviewTimeoutOption;
import io.appium.java_client.android.options.context.SupportsChromeLoggingPrefsOption;
import io.appium.java_client.android.options.context.SupportsChromeOptionsOption;
import io.appium.java_client.android.options.context.SupportsChromedriverArgsOption;
import io.appium.java_client.android.options.context.SupportsChromedriverChromeMappingFileOption;
import io.appium.java_client.android.options.context.SupportsChromedriverDisableBuildCheckOption;
import io.appium.java_client.android.options.context.SupportsChromedriverExecutableDirOption;
import io.appium.java_client.android.options.context.SupportsChromedriverExecutableOption;
import io.appium.java_client.android.options.context.SupportsChromedriverPortOption;
import io.appium.java_client.android.options.context.SupportsChromedriverPortsOption;
import io.appium.java_client.android.options.context.SupportsChromedriverUseSystemExecutableOption;
import io.appium.java_client.android.options.context.SupportsEnsureWebviewsHavePagesOption;
import io.appium.java_client.android.options.context.SupportsExtractChromeAndroidPackageFromContextNameOption;
import io.appium.java_client.android.options.context.SupportsNativeWebScreenshotOption;
import io.appium.java_client.android.options.context.SupportsRecreateChromeDriverSessionsOption;
import io.appium.java_client.android.options.context.SupportsShowChromedriverLogOption;
import io.appium.java_client.android.options.context.SupportsWebviewDevtoolsPortOption;
import io.appium.java_client.android.options.localization.SupportsLocaleScriptOption;
import io.appium.java_client.android.options.locking.SupportsSkipUnlockOption;
import io.appium.java_client.android.options.locking.SupportsUnlockKeyOption;
import io.appium.java_client.android.options.locking.SupportsUnlockStrategyOption;
import io.appium.java_client.android.options.locking.SupportsUnlockSuccessTimeoutOption;
import io.appium.java_client.android.options.locking.SupportsUnlockTypeOption;
import io.appium.java_client.android.options.mjpeg.SupportsMjpegScreenshotUrlOption;
import io.appium.java_client.android.options.mjpeg.SupportsMjpegServerPortOption;
import io.appium.java_client.android.options.other.SupportsDisableSuppressAccessibilityServiceOption;
import io.appium.java_client.remote.options.SupportsSkipLogCaptureOption;
import io.appium.java_client.android.options.other.SupportsUserProfileOption;
import io.appium.java_client.android.options.server.SupportsDisableWindowAnimationOption;
import io.appium.java_client.android.options.server.SupportsSkipDeviceInitializationOption;
import io.appium.java_client.android.options.server.SupportsSkipServerInstallationOption;
import io.appium.java_client.android.options.server.SupportsSystemPortOption;
import io.appium.java_client.android.options.server.SupportsUiautomator2ServerInstallTimeoutOption;
import io.appium.java_client.android.options.server.SupportsUiautomator2ServerLaunchTimeoutOption;
import io.appium.java_client.android.options.server.SupportsUiautomator2ServerReadTimeoutOption;
import io.appium.java_client.android.options.signing.SupportsKeystoreOptions;
import io.appium.java_client.android.options.signing.SupportsNoSignOption;
import io.appium.java_client.remote.AutomationName;
import io.appium.java_client.remote.MobilePlatform;
import io.appium.java_client.remote.options.BaseOptions;
import io.appium.java_client.remote.options.SupportsAppOption;
import io.appium.java_client.remote.options.SupportsAutoWebViewOption;
import io.appium.java_client.remote.options.SupportsClearSystemFilesOption;
import io.appium.java_client.remote.options.SupportsDeviceNameOption;
import io.appium.java_client.remote.options.SupportsEnablePerformanceLoggingOption;
import io.appium.java_client.remote.options.SupportsLanguageOption;
import io.appium.java_client.remote.options.SupportsLocaleOption;
import io.appium.java_client.remote.options.SupportsOrientationOption;
import io.appium.java_client.remote.options.SupportsOtherAppsOption;
import io.appium.java_client.remote.options.SupportsUdidOption;
import org.openqa.selenium.Capabilities;

import java.util.Map;

/**
 * https://github.com/appium/appium-uiautomator2-driver#capabilities
 */
public class UiAutomator2Options extends BaseOptions implements
        // General options: https://github.com/appium/appium-uiautomator2-driver#general
        SupportsDeviceNameOption,
        SupportsUdidOption,
        // Driver/Server options: https://github.com/appium/appium-uiautomator2-driver#driverserver
        SupportsSystemPortOption,
        SupportsSkipServerInstallationOption,
        SupportsUiautomator2ServerLaunchTimeoutOption,
        SupportsUiautomator2ServerInstallTimeoutOption,
        SupportsUiautomator2ServerReadTimeoutOption,
        SupportsDisableWindowAnimationOption,
        SupportsSkipDeviceInitializationOption,
        SupportsOrientationOption,
        SupportsClearSystemFilesOption,
        SupportsEnablePerformanceLoggingOption,
        // App options: https://github.com/appium/appium-uiautomator2-driver#app
        SupportsAppOption,
        SupportsAppPackageOption,
        SupportsAppActivityOption,
        SupportsAppWaitActivityOption,
        SupportsAppWaitPackageOption,
        SupportsAppWaitDurationOption,
        SupportsAndroidInstallTimeoutOption,
        SupportsAppWaitForLaunchOption,
        SupportsIntentCategoryOption,
        SupportsIntentActionOption,
        SupportsIntentFlagsOption,
        SupportsOptionalIntentArgumentsOption,
        SupportsAutoGrantPermissionsOption,
        SupportsOtherAppsOption,
        SupportsUninstallOtherPackagesOption,
        SupportsAllowTestPackagesOption,
        SupportsRemoteAppsCacheLimitOption,
        SupportsEnforceAppInstallOption,
        // App localization options: https://github.com/appium/appium-uiautomator2-driver#app-localization
        SupportsLocaleScriptOption,
        SupportsLanguageOption,
        SupportsLocaleOption,
        // ADB options: https://github.com/appium/appium-uiautomator2-driver#adb
        SupportsAdbPortOption,
        SupportsRemoteAdbHostOption,
        SupportsAdbExecTimeoutOption,
        SupportsClearDeviceLogsOnStartOption,
        SupportsBuildToolsVersionOption,
        SupportsSkipLogcatCaptureOption,
        SupportsSuppressKillServerOption,
        SupportsIgnoreHiddenApiPolicyErrorOption,
        SupportsMockLocationAppOption,
        SupportsLogcatFormatOption,
        SupportsLogcatFilterSpecsOption,
        SupportsAllowDelayAdbOption,
        // AVD options: https://github.com/appium/appium-uiautomator2-driver#emulator-android-virtual-device
        SupportsAvdOption,
        SupportsAvdLaunchTimeoutOption,
        SupportsAvdReadyTimeoutOption,
        SupportsAvdArgsOption,
        SupportsAvdEnvOption,
        SupportsNetworkSpeedOption,
        SupportsGpsEnabledOption,
        SupportsIsHeadlessOption,
        // App signing options: https://github.com/appium/appium-uiautomator2-driver#app-signing
        SupportsKeystoreOptions,
        SupportsNoSignOption,
        // Device locking options: https://github.com/appium/appium-uiautomator2-driver#device-locking
        SupportsSkipUnlockOption,
        SupportsUnlockTypeOption,
        SupportsUnlockKeyOption,
        SupportsUnlockStrategyOption,
        SupportsUnlockSuccessTimeoutOption,
        // MJPEG options: https://github.com/appium/appium-uiautomator2-driver#mjpeg
        SupportsMjpegServerPortOption,
        SupportsMjpegScreenshotUrlOption,
        // Web Context options: https://github.com/appium/appium-uiautomator2-driver#web-context
        SupportsAutoWebViewOption,
        SupportsWebviewDevtoolsPortOption,
        SupportsEnsureWebviewsHavePagesOption,
        SupportsChromedriverPortOption,
        SupportsChromedriverPortsOption,
        SupportsChromedriverArgsOption,
        SupportsChromedriverExecutableOption,
        SupportsChromedriverExecutableDirOption,
        SupportsChromedriverChromeMappingFileOption,
        SupportsChromedriverUseSystemExecutableOption,
        SupportsChromedriverDisableBuildCheckOption,
        SupportsAutoWebviewTimeoutOption,
        SupportsRecreateChromeDriverSessionsOption,
        SupportsNativeWebScreenshotOption,
        SupportsExtractChromeAndroidPackageFromContextNameOption,
        SupportsShowChromedriverLogOption,
        SupportsChromeOptionsOption,
        SupportsChromeLoggingPrefsOption,
        // Other options: https://github.com/appium/appium-uiautomator2-driver#other
        SupportsDisableSuppressAccessibilityServiceOption,
        SupportsUserProfileOption,
        SupportsSkipLogCaptureOption {
    public UiAutomator2Options() {
        setCommonOptions();
    }

    public UiAutomator2Options(Capabilities source) {
        super(source);
        setCommonOptions();
    }

    public UiAutomator2Options(Map source) {
        super(source);
        setCommonOptions();
    }

    private void setCommonOptions() {
        setPlatformName(MobilePlatform.ANDROID);
        setAutomationName(AutomationName.ANDROID_UIAUTOMATOR2);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy