From 7431af8468f00affb20c9533457db7176a5e28d5 Mon Sep 17 00:00:00 2001 From: saikrishna321 Date: Fri, 16 Jun 2017 11:25:31 +0530 Subject: [PATCH 1/3] added get_current_package session --- .../java/io/appium/java_client/MobileCommand.java | 3 +++ .../io/appium/java_client/android/AndroidDriver.java | 5 +++++ .../android/AndroidMobileCommandHelper.java | 12 ++++++++++++ .../java_client/android/AndroidDriverTest.java | 4 ++++ 4 files changed, 24 insertions(+) diff --git a/src/main/java/io/appium/java_client/MobileCommand.java b/src/main/java/io/appium/java_client/MobileCommand.java index 01acadbda..23c6a0080 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 7913ec52c..e1d8199c5 100644 --- a/src/main/java/io/appium/java_client/android/AndroidDriver.java +++ b/src/main/java/io/appium/java_client/android/AndroidDriver.java @@ -16,6 +16,7 @@ package io.appium.java_client.android; +import static io.appium.java_client.android.AndroidMobileCommandHelper.currentPackageCommand; import static io.appium.java_client.android.AndroidMobileCommandHelper.endTestCoverageCommand; import static io.appium.java_client.android.AndroidMobileCommandHelper.openNotificationsCommand; import static io.appium.java_client.android.AndroidMobileCommandHelper.toggleLocationServicesCommand; @@ -180,4 +181,8 @@ public void openNotifications() { public void toggleLocationServices() { CommandExecutionHelper.execute(this, toggleLocationServicesCommand()); } + + public String getCurrentPackage() { + return CommandExecutionHelper.execute(this, currentPackageCommand()); + } } 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 55eae2f9d..181b971cc 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/test/java/io/appium/java_client/android/AndroidDriverTest.java b/src/test/java/io/appium/java_client/android/AndroidDriverTest.java index 28d40bd39..3ad468b0a 100644 --- a/src/test/java/io/appium/java_client/android/AndroidDriverTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidDriverTest.java @@ -183,4 +183,8 @@ public class AndroidDriverTest extends BaseAndroidTest { } + @Test public void getCurrentPackage() { + assertEquals("io.appium.android.apis",driver.getCurrentPackage()); + } + } From 8bb3758c0a5fd4df2a50b86215f10cf19256ba70 Mon Sep 17 00:00:00 2001 From: saikrishna321 Date: Sat, 17 Jun 2017 10:41:22 +0530 Subject: [PATCH 2/3] fixed review --- .../java/io/appium/java_client/android/AndroidDriverTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 3ad468b0a..2048b965d 100644 --- a/src/test/java/io/appium/java_client/android/AndroidDriverTest.java +++ b/src/test/java/io/appium/java_client/android/AndroidDriverTest.java @@ -183,7 +183,7 @@ public class AndroidDriverTest extends BaseAndroidTest { } - @Test public void getCurrentPackage() { + @Test public void getCurrentPackageTest() { assertEquals("io.appium.android.apis",driver.getCurrentPackage()); } From 10841e0756a6cfe0253612bf9b30edc2cab805b1 Mon Sep 17 00:00:00 2001 From: saikrishna321 Date: Sun, 18 Jun 2017 14:34:54 +0530 Subject: [PATCH 3/3] moved getCurrentPackage to StartActivity Interface --- .../io/appium/java_client/android/AndroidDriver.java | 4 ---- .../io/appium/java_client/android/StartsActivity.java | 10 ++++++++++ 2 files changed, 10 insertions(+), 4 deletions(-) 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 e1d8199c5..fec95da1b 100644 --- a/src/main/java/io/appium/java_client/android/AndroidDriver.java +++ b/src/main/java/io/appium/java_client/android/AndroidDriver.java @@ -16,7 +16,6 @@ package io.appium.java_client.android; -import static io.appium.java_client.android.AndroidMobileCommandHelper.currentPackageCommand; import static io.appium.java_client.android.AndroidMobileCommandHelper.endTestCoverageCommand; import static io.appium.java_client.android.AndroidMobileCommandHelper.openNotificationsCommand; import static io.appium.java_client.android.AndroidMobileCommandHelper.toggleLocationServicesCommand; @@ -182,7 +181,4 @@ public void toggleLocationServices() { CommandExecutionHelper.execute(this, toggleLocationServicesCommand()); } - public String getCurrentPackage() { - return CommandExecutionHelper.execute(this, currentPackageCommand()); - } } 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 05b31603c..873454dc1 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; @@ -158,4 +159,13 @@ default void startActivity(String appPackage, String appActivity, String appWait 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()); + } }