diff options
author | Allen Hair <allenhair@google.com> | 2016-05-23 16:31:34 -0700 |
---|---|---|
committer | Allen Hair <allenhair@google.com> | 2016-05-24 11:10:44 -0700 |
commit | 3fb03313e9d0e41f7c14b648c0f4dcfdab78bff3 (patch) | |
tree | 334d46231acf15cf34bf940f3d44f9d45ed9983c | |
parent | 0a9ccf26192bc5a6fd74afb7afd4834b08230299 (diff) |
Deprecate shell-based UI Automator.
Change-Id: I15aee7a6aba551b737d2c41b4fafd5b0ced9a4b7
16 files changed, 56 insertions, 14 deletions
diff --git a/cmds/uiautomator/api/current.txt b/cmds/uiautomator/api/current.txt index 7eeecf5d09fa..634ca4d39ec5 100644 --- a/cmds/uiautomator/api/current.txt +++ b/cmds/uiautomator/api/current.txt @@ -1,6 +1,6 @@ package com.android.uiautomator.core { - public final class Configurator { + public final deprecated class Configurator { method public long getActionAcknowledgmentTimeout(); method public static com.android.uiautomator.core.Configurator getInstance(); method public long getKeyInjectionDelay(); @@ -14,7 +14,7 @@ package com.android.uiautomator.core { method public com.android.uiautomator.core.Configurator setWaitForSelectorTimeout(long); } - public class UiCollection extends com.android.uiautomator.core.UiObject { + public deprecated class UiCollection extends com.android.uiautomator.core.UiObject { ctor public UiCollection(com.android.uiautomator.core.UiSelector); method public com.android.uiautomator.core.UiObject getChildByDescription(com.android.uiautomator.core.UiSelector, java.lang.String) throws com.android.uiautomator.core.UiObjectNotFoundException; method public com.android.uiautomator.core.UiObject getChildByInstance(com.android.uiautomator.core.UiSelector, int) throws com.android.uiautomator.core.UiObjectNotFoundException; @@ -22,7 +22,7 @@ package com.android.uiautomator.core { method public int getChildCount(com.android.uiautomator.core.UiSelector); } - public class UiDevice { + public deprecated class UiDevice { method public void clearLastTraversedText(); method public boolean click(int, int); method public boolean drag(int, int, int, int, int); @@ -77,7 +77,7 @@ package com.android.uiautomator.core { method public void wakeUp() throws android.os.RemoteException; } - public class UiObject { + public deprecated class UiObject { ctor public UiObject(com.android.uiautomator.core.UiSelector); method public void clearTextField() throws com.android.uiautomator.core.UiObjectNotFoundException; method public boolean click() throws com.android.uiautomator.core.UiObjectNotFoundException; @@ -130,13 +130,13 @@ package com.android.uiautomator.core { field protected static final long WAIT_FOR_WINDOW_TMEOUT = 5500L; // 0x157cL } - public class UiObjectNotFoundException extends java.lang.Exception { + public deprecated class UiObjectNotFoundException extends java.lang.Exception { ctor public UiObjectNotFoundException(java.lang.String); ctor public UiObjectNotFoundException(java.lang.String, java.lang.Throwable); ctor public UiObjectNotFoundException(java.lang.Throwable); } - public class UiScrollable extends com.android.uiautomator.core.UiCollection { + public deprecated class UiScrollable extends com.android.uiautomator.core.UiCollection { ctor public UiScrollable(com.android.uiautomator.core.UiSelector); method protected boolean exists(com.android.uiautomator.core.UiSelector); method public boolean flingBackward() throws com.android.uiautomator.core.UiObjectNotFoundException; @@ -165,7 +165,7 @@ package com.android.uiautomator.core { method public com.android.uiautomator.core.UiScrollable setSwipeDeadZonePercentage(double); } - public class UiSelector { + public deprecated class UiSelector { ctor public UiSelector(); method public com.android.uiautomator.core.UiSelector checkable(boolean); method public com.android.uiautomator.core.UiSelector checked(boolean); @@ -198,7 +198,7 @@ package com.android.uiautomator.core { method public com.android.uiautomator.core.UiSelector textStartsWith(java.lang.String); } - public abstract interface UiWatcher { + public abstract deprecated interface UiWatcher { method public abstract boolean checkForCondition(); } @@ -206,11 +206,11 @@ package com.android.uiautomator.core { package com.android.uiautomator.testrunner { - public abstract interface IAutomationSupport { + public abstract deprecated interface IAutomationSupport { method public abstract void sendStatus(int, android.os.Bundle); } - public class UiAutomatorTestCase extends junit.framework.TestCase { + public deprecated class UiAutomatorTestCase extends junit.framework.TestCase { ctor public UiAutomatorTestCase(); method public com.android.uiautomator.testrunner.IAutomationSupport getAutomationSupport(); method public android.os.Bundle getParams(); diff --git a/cmds/uiautomator/cmds/uiautomator/uiautomator b/cmds/uiautomator/cmds/uiautomator/uiautomator index fe2c73579882..86a1dbaad119 100755 --- a/cmds/uiautomator/cmds/uiautomator/uiautomator +++ b/cmds/uiautomator/cmds/uiautomator/uiautomator @@ -67,6 +67,11 @@ jars= # special case pre-processing for 'runtest' command if [ "${cmd}" == "runtest" ]; then + # Print deprecation warning + echo "Warning: This version of UI Automator is deprecated. New tests should be written using" + echo "UI Automator 2.0 which is available as part of the Android Testing Support Library." + echo "See https://developer.android.com/training/testing/ui-testing/uiautomator-testing.html" + echo "for more details." # first parse the jar paths while [ true ]; do if [ -z "${1}" ] && [ -z "${jars}" ]; then diff --git a/cmds/uiautomator/instrumentation/testrunner-src/com/android/uiautomator/testrunner/IAutomationSupport.java b/cmds/uiautomator/instrumentation/testrunner-src/com/android/uiautomator/testrunner/IAutomationSupport.java index f0c60d2840c2..6d758444e880 100644 --- a/cmds/uiautomator/instrumentation/testrunner-src/com/android/uiautomator/testrunner/IAutomationSupport.java +++ b/cmds/uiautomator/instrumentation/testrunner-src/com/android/uiautomator/testrunner/IAutomationSupport.java @@ -22,7 +22,10 @@ import android.os.Bundle; * Provides auxiliary support for running test cases * * @since API Level 16 + * @deprecated New tests should be written using UI Automator 2.0 which is available as part of the + * Android Testing Support Library. */ +@Deprecated public interface IAutomationSupport { /** diff --git a/cmds/uiautomator/instrumentation/testrunner-src/com/android/uiautomator/testrunner/UiAutomatorInstrumentationTestRunner.java b/cmds/uiautomator/instrumentation/testrunner-src/com/android/uiautomator/testrunner/UiAutomatorInstrumentationTestRunner.java index ae763f28cad5..af42653acb8e 100644 --- a/cmds/uiautomator/instrumentation/testrunner-src/com/android/uiautomator/testrunner/UiAutomatorInstrumentationTestRunner.java +++ b/cmds/uiautomator/instrumentation/testrunner-src/com/android/uiautomator/testrunner/UiAutomatorInstrumentationTestRunner.java @@ -28,7 +28,10 @@ import junit.framework.TestListener; /** * Test runner for {@link UiAutomatorTestCase}s. Such tests are executed * on the device and have access to an applications context. + * @deprecated New tests should be written using UI Automator 2.0 which is available as part of the + * Android Testing Support Library. */ +@Deprecated public class UiAutomatorInstrumentationTestRunner extends InstrumentationTestRunner { @Override diff --git a/cmds/uiautomator/instrumentation/testrunner-src/com/android/uiautomator/testrunner/UiAutomatorTestCase.java b/cmds/uiautomator/instrumentation/testrunner-src/com/android/uiautomator/testrunner/UiAutomatorTestCase.java index b5f21c929154..7c9aeded238e 100644 --- a/cmds/uiautomator/instrumentation/testrunner-src/com/android/uiautomator/testrunner/UiAutomatorTestCase.java +++ b/cmds/uiautomator/instrumentation/testrunner-src/com/android/uiautomator/testrunner/UiAutomatorTestCase.java @@ -26,7 +26,10 @@ import com.android.uiautomator.core.UiDevice; /** * UI Automator test case that is executed on the device. + * @deprecated New tests should be written using UI Automator 2.0 which is available as part of the + * Android Testing Support Library. */ +@Deprecated public class UiAutomatorTestCase extends InstrumentationTestCase { private Bundle mParams; diff --git a/cmds/uiautomator/library/Android.mk b/cmds/uiautomator/library/Android.mk index 62fb0e4ca980..ea77fbc69662 100644 --- a/cmds/uiautomator/library/Android.mk +++ b/cmds/uiautomator/library/Android.mk @@ -67,7 +67,6 @@ include $(BUILD_STATIC_JAVA_LIBRARY) # Make sure to run droiddoc first to generate the stub source files. $(full_classes_compiled_jar) : $(uiautomator_stubs_stamp) $(built_dex_intermediate) : $(uiautomator_stubs_stamp) -uiautomator_stubs_jar := $(full_classes_compiled_jar) ############################################### # API check @@ -92,7 +91,7 @@ $(eval $(call check-api, \ $(uiautomator_internal_removed_api_file), \ $(checkapi_last_error_level_flags), \ cat $(LOCAL_PATH)/apicheck_msg_last.txt, \ - $(uiautomator_stubs_jar), \ + uiautomator.core, \ $(uiautomator_stubs_stamp))) checkapi_current_error_level_flags := \ @@ -111,7 +110,7 @@ $(eval $(call check-api, \ $(uiautomator_internal_removed_api_file), \ $(checkapi_current_error_level_flags), \ cat $(LOCAL_PATH)/apicheck_msg_current.txt, \ - $(uiautomator_stubs_jar), \ + uiautomator.core, \ $(uiautomator_stubs_stamp))) .PHONY: update-uiautomator-api @@ -128,7 +127,6 @@ uiautomator.core_src_files := uiautomator.core_java_libraries := uiautomator_stubs_stamp := uiautomator_internal_api_file := -uiautomator_stubs_jar := uiautomator_api_dir := checkapi_last_error_level_flags := checkapi_current_error_level_flags := diff --git a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/Configurator.java b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/Configurator.java index 249f4046c7b8..255c49a84fff 100644 --- a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/Configurator.java +++ b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/Configurator.java @@ -25,7 +25,10 @@ package com.android.uiautomator.core; * tests with the modified parameters, make sure to also restore * the original parameter values, otherwise this will impact other tests cases. * @since API Level 18 + * @deprecated New tests should be written using UI Automator 2.0 which is available as part of the + * Android Testing Support Library. */ +@Deprecated public final class Configurator { private long mWaitForIdleTimeout = 10 * 1000; private long mWaitForSelector = 10 * 1000; diff --git a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiCollection.java b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiCollection.java index e15beb2fb74f..06bacb0671eb 100644 --- a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiCollection.java +++ b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiCollection.java @@ -19,7 +19,10 @@ package com.android.uiautomator.core; * Used to enumerate a container's UI elements for the purpose of counting, * or targeting a sub elements by a child's text or description. * @since API Level 16 + * @deprecated New tests should be written using UI Automator 2.0 which is available as part of the + * Android Testing Support Library. */ +@Deprecated public class UiCollection extends UiObject { /** diff --git a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiDevice.java b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiDevice.java index a930eb444a08..b1b432bf79ab 100644 --- a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiDevice.java +++ b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiDevice.java @@ -42,7 +42,10 @@ import java.util.concurrent.TimeoutException; * You can also use this class to simulate user actions on the device, * such as pressing the d-pad or pressing the Home and Menu buttons. * @since API Level 16 + * @deprecated New tests should be written using UI Automator 2.0 which is available as part of the + * Android Testing Support Library. */ +@Deprecated public class UiDevice { private static final String LOG_TAG = UiDevice.class.getSimpleName(); diff --git a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiObject.java b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiObject.java index 2118da857be5..751bbe825bca 100644 --- a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiObject.java +++ b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiObject.java @@ -31,7 +31,10 @@ import android.view.accessibility.AccessibilityNodeInfo; * its constructor. Once you create an instance of a UiObject, it can * be reused for different views that match the selector criteria. * @since API Level 16 + * @deprecated New tests should be written using UI Automator 2.0 which is available as part of the + * Android Testing Support Library. */ +@Deprecated public class UiObject { private static final String LOG_TAG = UiObject.class.getSimpleName(); /** diff --git a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiObjectNotFoundException.java b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiObjectNotFoundException.java index fc0891bfbd27..f3e269844b8d 100644 --- a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiObjectNotFoundException.java +++ b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiObjectNotFoundException.java @@ -20,7 +20,10 @@ package com.android.uiautomator.core; * Generated in test runs when a {@link UiSelector} selector could not be matched * to any UI element displayed. * @since API Level 16 + * @deprecated New tests should be written using UI Automator 2.0 which is available as part of the + * Android Testing Support Library. */ +@Deprecated public class UiObjectNotFoundException extends Exception { private static final long serialVersionUID = 1L; diff --git a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiScrollable.java b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiScrollable.java index a8d20c3fa7cc..6673dac96196 100644 --- a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiScrollable.java +++ b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiScrollable.java @@ -24,7 +24,10 @@ import android.view.accessibility.AccessibilityNodeInfo; * for items in scrollable layout elements. This class can be used with * horizontally or vertically scrollable controls. * @since API Level 16 + * @deprecated New tests should be written using UI Automator 2.0 which is available as part of the + * Android Testing Support Library. */ +@Deprecated public class UiScrollable extends UiCollection { private static final String LOG_TAG = UiScrollable.class.getSimpleName(); diff --git a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiSelector.java b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiSelector.java index 482a74d77493..9ba425ec2674 100644 --- a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiSelector.java +++ b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiSelector.java @@ -27,7 +27,10 @@ import java.util.regex.Pattern; * information. You can also target an element by its location in a layout * hierarchy. * @since API Level 16 + * @deprecated New tests should be written using UI Automator 2.0 which is available as part of the + * Android Testing Support Library. */ +@Deprecated public class UiSelector { static final int SELECTOR_NIL = 0; static final int SELECTOR_TEXT = 1; diff --git a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiWatcher.java b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiWatcher.java index 5403e30fcade..030fb0a32705 100644 --- a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiWatcher.java +++ b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiWatcher.java @@ -22,7 +22,10 @@ package com.android.uiautomator.core; * to locate its selector yet. Only during this time, the watchers are invoked to check if there is * something else unexpected on the screen. * @since API Level 16 + * @deprecated New tests should be written using UI Automator 2.0 which is available as part of the + * Android Testing Support Library. */ +@Deprecated public interface UiWatcher { /** diff --git a/cmds/uiautomator/library/testrunner-src/com/android/uiautomator/testrunner/IAutomationSupport.java b/cmds/uiautomator/library/testrunner-src/com/android/uiautomator/testrunner/IAutomationSupport.java index f0c60d2840c2..6d758444e880 100644 --- a/cmds/uiautomator/library/testrunner-src/com/android/uiautomator/testrunner/IAutomationSupport.java +++ b/cmds/uiautomator/library/testrunner-src/com/android/uiautomator/testrunner/IAutomationSupport.java @@ -22,7 +22,10 @@ import android.os.Bundle; * Provides auxiliary support for running test cases * * @since API Level 16 + * @deprecated New tests should be written using UI Automator 2.0 which is available as part of the + * Android Testing Support Library. */ +@Deprecated public interface IAutomationSupport { /** diff --git a/cmds/uiautomator/library/testrunner-src/com/android/uiautomator/testrunner/UiAutomatorTestCase.java b/cmds/uiautomator/library/testrunner-src/com/android/uiautomator/testrunner/UiAutomatorTestCase.java index e7d961b4d9d2..3d5476d04701 100644 --- a/cmds/uiautomator/library/testrunner-src/com/android/uiautomator/testrunner/UiAutomatorTestCase.java +++ b/cmds/uiautomator/library/testrunner-src/com/android/uiautomator/testrunner/UiAutomatorTestCase.java @@ -36,7 +36,10 @@ import java.util.List; * {@link UiDevice} instance * {@link Bundle} for command line parameters. * @since API Level 16 + * @deprecated New tests should be written using UI Automator 2.0 which is available as part of the + * Android Testing Support Library. */ +@Deprecated public class UiAutomatorTestCase extends TestCase { private static final String DISABLE_IME = "disable_ime"; |