From 67fbab32d02d8d552b6d2ce20ca5fadc25e5c892 Mon Sep 17 00:00:00 2001 From: Sai Krishna Date: Tue, 20 Jun 2017 21:07:52 +0530 Subject: [PATCH] added get_current_package session (#657) * added get_current_package session * fixed review * moved getCurrentPackage to StartActivity Interface --- .../java/io/appium/java_client/MobileCommand.java | 3 +++ .../io/appium/java_client/android/AndroidDriver.java | 1 + .../android/AndroidMobileCommandHelper.java | 12 ++++++++++++ .../appium/java_client/android/StartsActivity.java | 10 ++++++++++ .../java_client/android/AndroidDriverTest.java | 4 ++++ 5 files changed, 30 insertions(+) diff --git a/src/main/java/io/appium/java_client/MobileCommand.java b/src/main/java/io/appium/java_client/MobileCommand.java index 6c6a79ac1..b027baeb6 100644 --- a/src/main/java/io/appium/java_client/MobileCommand.java +++ b/src/main/java/io/appium/java_client/MobileCommand.java @@ -76,6 +76,7 @@ public class MobileCommand { protected static final String REPLACE_VALUE; protected static final String GET_SETTINGS; protected static final String SET_SETTINGS; + protected static final String GET_CURRENT_PACKAGE; public static final Map commandRepository; @@ -122,6 +123,7 @@ public class MobileCommand { REPLACE_VALUE = "replaceValue"; GET_SETTINGS = "getSettings"; SET_SETTINGS = "setSettings"; + GET_CURRENT_PACKAGE = "getCurrentPackage"; commandRepository = new HashMap<>(); commandRepository.put(RESET, postC("/session/:sessionId/appium/app/reset")); @@ -176,6 +178,7 @@ public class MobileCommand { postC("/session/:sessionId/appium/device/toggle_location_services")); commandRepository.put(UNLOCK, postC("/session/:sessionId/appium/device/unlock")); commandRepository. put(REPLACE_VALUE, postC("/session/:sessionId/appium/element/:id/replace_value")); + commandRepository.put(GET_CURRENT_PACKAGE,getC("/session/:sessionId/appium/device/current_package")); } /** diff --git a/src/main/java/io/appium/java_client/android/AndroidDriver.java b/src/main/java/io/appium/java_client/android/AndroidDriver.java index 424a9bec5..0bfe0974e 100644 --- a/src/main/java/io/appium/java_client/android/AndroidDriver.java +++ b/src/main/java/io/appium/java_client/android/AndroidDriver.java @@ -172,4 +172,5 @@ public void openNotifications() { public void toggleLocationServices() { CommandExecutionHelper.execute(this, toggleLocationServicesCommand()); } + } diff --git a/src/main/java/io/appium/java_client/android/AndroidMobileCommandHelper.java b/src/main/java/io/appium/java_client/android/AndroidMobileCommandHelper.java index 951fa3f1a..3cfa8ff8c 100644 --- a/src/main/java/io/appium/java_client/android/AndroidMobileCommandHelper.java +++ b/src/main/java/io/appium/java_client/android/AndroidMobileCommandHelper.java @@ -46,6 +46,18 @@ public class AndroidMobileCommandHelper extends MobileCommand { CURRENT_ACTIVITY, ImmutableMap.of()); } + /** + * This method forms a {@link java.util.Map} of parameters for the + * getting of the current package. + * + * @return a key-value pair. The key is the command name. The value is a + * {@link java.util.Map} command arguments. + */ + public static Map.Entry> currentPackageCommand() { + return new AbstractMap.SimpleEntry<>( + GET_CURRENT_PACKAGE, ImmutableMap.of()); + } + /** * This method forms a {@link java.util.Map} of parameters for the * ending of the test coverage. diff --git a/src/main/java/io/appium/java_client/android/StartsActivity.java b/src/main/java/io/appium/java_client/android/StartsActivity.java index ca95733ff..bd21d9d86 100644 --- a/src/main/java/io/appium/java_client/android/StartsActivity.java +++ b/src/main/java/io/appium/java_client/android/StartsActivity.java @@ -17,6 +17,7 @@ package io.appium.java_client.android; import static io.appium.java_client.android.AndroidMobileCommandHelper.currentActivityCommand; +import static io.appium.java_client.android.AndroidMobileCommandHelper.currentPackageCommand; import static io.appium.java_client.android.AndroidMobileCommandHelper.startActivityCommand; import io.appium.java_client.CommandExecutionHelper; @@ -56,4 +57,13 @@ default void startActivity(Activity activity) { default String currentActivity() { return CommandExecutionHelper.execute(this, currentActivityCommand()); } + + /** + * Get the current package being run on the mobile device. + * + * @return a current package being run on the mobile device. + */ + default String getCurrentPackage() { + return CommandExecutionHelper.execute(this, currentPackageCommand()); + } } diff --git a/src/test/java/io/appium/java_client/android/AndroidDriverTest.java b/src/test/java/io/appium/java_client/android/AndroidDriverTest.java index 6956ebd9c..037af0775 100644 --- a/src/test/java/io/appium/java_client/android/AndroidDriverTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidDriverTest.java @@ -181,4 +181,8 @@ public class AndroidDriverTest extends BaseAndroidTest { } + @Test public void getCurrentPackageTest() { + assertEquals("io.appium.android.apis",driver.getCurrentPackage()); + } + }