I am getting "Expected to read a START_MAP but instead have: END"

I am getting “Expected to read a START_MAP but instead have: END” error why trying to start server thru program , Please help me on this. @Aleksei
Test running on -> Pixel device2

===== Invoked methods

Base.SetUp(java.lang.String, java.lang.String, java.lang.String)[pri:0, instance:com.mobileApp.Test.Base@5204062d]Pixel device2 4723 emulator-5554 1375995437

=====

FAILED CONFIGURATION: @BeforeTest SetUp("Pixel device2", "4723", "emulator-5554")

org.openqa.selenium.json.JsonException: Expected to read a START_MAP but instead have: END. Last 0 characters read: 

Build info: version: '3.13.0', revision: '2f0d292', time: '2018-06-25T15:32:19.891Z'

System info: host: 'Vinothqas-Mac-mini.local', ip: '127.0.0.1', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.15.1', java.version: '1.8.0_231'

Driver info: driver.version: AndroidDriver

at org.openqa.selenium.json.JsonInput.expect(JsonInput.java:289)

at org.openqa.selenium.json.JsonInput.beginObject(JsonInput.java:219)

at org.openqa.selenium.json.MapCoercer.lambda$apply$1(MapCoercer.java:64)

at org.openqa.selenium.json.JsonTypeCoercer.lambda$null$6(JsonTypeCoercer.java:141)

at org.openqa.selenium.json.JsonTypeCoercer.coerce(JsonTypeCoercer.java:122)

at org.openqa.selenium.json.Json.toType(Json.java:60)

at org.openqa.selenium.json.Json.toType(Json.java:50)

at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:87)

at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)

at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)

at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:239)

at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548)

at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:41)

at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1)

at io.appium.java_client.android.AndroidDriver.execute(AndroidDriver.java:1)

at org.openqa.selenium.remote.RemoteWebDriver$RemoteWebDriverOptions$RemoteTimeouts.implicitlyWait(RemoteWebDriver.java:776)

at com.mobileApp.Test.Base.SetUp(Base.java:65)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:133)

at org.testng.internal.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:62)

at org.testng.internal.ConfigInvoker.invokeConfigurationMethod(ConfigInvoker.java:340)

at org.testng.internal.ConfigInvoker.invokeConfigurations(ConfigInvoker.java:294)

at org.testng.TestRunner.invokeTestConfigurations(TestRunner.java:623)

at org.testng.TestRunner.beforeRun(TestRunner.java:613)

at org.testng.TestRunner.run(TestRunner.java:584)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:402)

at org.testng.SuiteRunner.access$000(SuiteRunner.java:41)

at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:443)

at org.testng.internal.thread.ThreadUtil.lambda$execute$0(ThreadUtil.java:67)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

at java.lang.Thread.run(Thread.java:748)

SKIPPED CONFIGURATION: @AfterTest stopServer

SKIPPED: ForgetPasswordTestWithInvalidUserName

org.openqa.selenium.json.JsonException: Expected to read a START_MAP but instead have: END. Last 0 characters read: 

Build info: version: '3.13.0', revision: '2f0d292', time: '2018-06-25T15:32:19.891Z'

System info: host: 'Vinothqas-Mac-mini.local', ip: '127.0.0.1', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.15.1', java.version: '1.8.0_231'

Driver info: driver.version: AndroidDriver

at org.openqa.selenium.json.JsonInput.expect(JsonInput.java:289)

at org.openqa.selenium.json.JsonInput.beginObject(JsonInput.java:219)

at org.openqa.selenium.json.MapCoercer.lambda$apply$1(MapCoercer.java:64)

at org.openqa.selenium.json.JsonTypeCoercer.lambda$null$6(JsonTypeCoercer.java:141)

at org.openqa.selenium.json.JsonTypeCoercer.coerce(JsonTypeCoercer.java:122)

at org.openqa.selenium.json.Json.toType(Json.java:60)

at org.openqa.selenium.json.Json.toType(Json.java:50)

at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:87)

at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)

at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)

at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:239)

at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548)

at io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:41)

at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1)

at io.appium.java_client.android.AndroidDriver.execute(AndroidDriver.java:1)

at org.openqa.selenium.remote.RemoteWebDriver$RemoteWebDriverOptions$RemoteTimeouts.implicitlyWait(RemoteWebDriver.java:776)

at com.mobileApp.Test.Base.SetUp(Base.java:65)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:133)

at org.testng.internal.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:62)

at org.testng.internal.ConfigInvoker.invokeConfigurationMethod(ConfigInvoker.java:340)

at org.testng.internal.ConfigInvoker.invokeConfigurations(ConfigInvoker.java:294)

at org.testng.TestRunner.invokeTestConfigurations(TestRunner.java:623)

at org.testng.TestRunner.beforeRun(TestRunner.java:613)

at org.testng.TestRunner.run(TestRunner.java:584)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:402)

at org.testng.SuiteRunner.access$000(SuiteRunner.java:41)

at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:443)

at org.testng.internal.thread.ThreadUtil.lambda$execute$0(ThreadUtil.java:67)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

at java.lang.Thread.run(Thread.java:748)

===============================================

Android on Emulator

Tests run: 1, Failures: 0, Skips: 1

Configuration Failures: 1, Skips: 1

===============================================

===============================================

IOS_AndroidTestSuite

Total tests run: 1, Passes: 0, Failures: 0, Skips: 1

Configuration Failures: 1, Skips: 1

===============================================

it is something specific to your test code.

try search by “Expected to read a START_MAP but instead have: END. Last 0 characters read:”

I tried, but its not available in the script, actually i just started the script, if I re-start my PC, it work fine for couple of tests again i receives this error. Note: this happens when trying to run the appium server by program. for parallel test.

it is something with url you start driver with…

@Aleksei Can you get me your email id, I need help on parallel test and few doubts, [email protected], please pin me or share your email/skype id. it will be very helpful

Even I tried to print the URL in the console, it looks fine like http://0.0.0.0:4723

I am also getting this error.
org.openqa.selenium.InvalidArgumentException: org.json.JSONException: No value for strategy