diff --git a/src/main/java/io/appium/java_client/DefaultGenericMobileDriver.java b/src/main/java/io/appium/java_client/DefaultGenericMobileDriver.java index 3e7380309..0ca7a1dcc 100644 --- a/src/main/java/io/appium/java_client/DefaultGenericMobileDriver.java +++ b/src/main/java/io/appium/java_client/DefaultGenericMobileDriver.java @@ -157,7 +157,8 @@ public List findElementsByXPath(String using) { @Override public String toString() { + Capabilities capabilities = getCapabilities(); return String.format("%s, Capabilities: %s", getClass().getCanonicalName(), - getCapabilities().asMap().toString()); + capabilities != null ? capabilities.asMap().toString() : "null"); } } 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 626ab95a2..eb6517101 100644 --- a/src/main/java/io/appium/java_client/android/AndroidDriver.java +++ b/src/main/java/io/appium/java_client/android/AndroidDriver.java @@ -47,6 +47,7 @@ import java.net.URL; import java.util.Collections; import java.util.Map; +import javax.annotation.Nullable; /** * Android driver implementation. @@ -206,9 +207,12 @@ public AndroidBatteryInfo getBatteryInfo() { * * @return given {@link Capabilities} */ + @Nullable public Capabilities getCapabilities() { MutableCapabilities capabilities = (MutableCapabilities) super.getCapabilities(); - capabilities.setCapability(PLATFORM_NAME, ANDROID_PLATFORM); + if (capabilities != null) { + capabilities.setCapability(PLATFORM_NAME, ANDROID_PLATFORM); + } return capabilities; } diff --git a/src/main/java/io/appium/java_client/ios/IOSDriver.java b/src/main/java/io/appium/java_client/ios/IOSDriver.java index 218f642f6..1cd2aa81b 100644 --- a/src/main/java/io/appium/java_client/ios/IOSDriver.java +++ b/src/main/java/io/appium/java_client/ios/IOSDriver.java @@ -48,6 +48,7 @@ import java.time.Duration; import java.util.Collections; import java.util.Map; +import javax.annotation.Nullable; /** * iOS driver implementation. @@ -207,9 +208,12 @@ private class InnerTargetLocator extends RemoteTargetLocator { * * @return given {@link Capabilities} */ + @Nullable public Capabilities getCapabilities() { MutableCapabilities capabilities = (MutableCapabilities) super.getCapabilities(); - capabilities.setCapability(PLATFORM_NAME, IOS_PLATFORM); + if (capabilities != null) { + capabilities.setCapability(PLATFORM_NAME, IOS_PLATFORM); + } return capabilities; }