Device Name and Platform version issue - Appium server launched through program

Test : Trail

iOS Webkit debug proxy : Started

arguements[Ljava.lang.String;@185d8b6

Server Flags : Completed.

Default Executor : executed commands.

e[36minfoe[39m: [debug] Starting Appium in pre-launch mode

e[36minfoe[39m: Pre-launching app

e[31merrore[39m: Could not determine your device from Appium arguments or desired capabilities. Please make sure to specify the ‘deviceName’ and ‘platformName’ capabilities

e[36minfoe[39m: [debug] Got configuration error, not starting session

e[36minfoe[39m: [debug] Cleaning up appium session

e[31merrore[39m: Could not pre-launch appium: Error: Could not determine your device from Appium arguments or desired capabilities. Please make sure to specify the ‘deviceName’ and ‘platformName’ capabilities

Appium Server Started

killing the existing sessions

Sessions cleared

Declaring capabilities

Waiting for appium server to start

org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.

Build info: version: ‘2.53.1’, revision: ‘a36b8b1’, time: ‘2016-06-30 17:37:03’

System info: host: ‘V4s-MacBook-Pro-2.local’, ip: ‘127.0.0.1’, os.name: ‘Mac OS X’, os.arch: ‘x86_64’, os.version: ‘10.11.3’, java.version: ‘1.8.0_121’

Driver info: driver.version: IOSDriver

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

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

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

at io.appium.java_client.ios.IOSDriver.execute(IOSDriver.java:1)

at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249)

at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:131)

at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:144)

at io.appium.java_client.DefaultGenericMobileDriver.(DefaultGenericMobileDriver.java:38)

at io.appium.java_client.AppiumDriver.(AppiumDriver.java:83)

at io.appium.java_client.AppiumDriver.(AppiumDriver.java:93)

at io.appium.java_client.ios.IOSDriver.(IOSDriver.java:75)

at com.sg.s2bng.driversetup.driversetup.appiumDriverInitialization(driversetup.java:196)

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:104)

at org.testng.internal.Invoker.invokeMethod(Invoker.java:645)

at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851)

at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177)

at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)

at org.testng.TestRunner.privateRun(TestRunner.java:756)

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

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

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:382)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:340)

at org.testng.SuiteRunner.run(SuiteRunner.java:289)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1293)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1218)

at org.testng.TestNG.runSuites(TestNG.java:1133)

at org.testng.TestNG.run(TestNG.java:1104)

at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132)

at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:236)

at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:81)

Caused by: org.openqa.selenium.WebDriverException: org.apache.http.conn.HttpHostConnectException: Connect to 127.0.0.1:4723 [/127.0.0.1] failed: Connection refused (Connection refused)

Build info: version: ‘2.53.1’, revision: ‘a36b8b1’, time: ‘2016-06-30 17:37:03’

System info: host: ‘V4s-MacBook-Pro-2.local’, ip: ‘127.0.0.1’, os.name: ‘Mac OS X’, os.arch: ‘x86_64’, os.version: ‘10.11.3’, java.version: ‘1.8.0_121’

Driver info: driver.version: IOSDriver

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

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

… 36 more

Caused by: org.apache.http.conn.HttpHostConnectException: Connect to 127.0.0.1:4723 [/127.0.0.1] failed: Connection refused (Connection refused)

at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:151)

at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)

at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380)

at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)

at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)

at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)

at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)

at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)

at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:71)

at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)

at org.openqa.selenium.remote.internal.ApacheHttpClient.fallBackExecute(ApacheHttpClient.java:144)

at org.openqa.selenium.remote.internal.ApacheHttpClient.execute(ApacheHttpClient.java:90)

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

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

… 37 more

Caused by: java.net.ConnectException: Connection refused (Connection refused)

at java.net.PlainSocketImpl.socketConnect(Native Method)

at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)

at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)

at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)

at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)

at java.net.Socket.connect(Socket.java:589)

at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:74)

at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:134)

… 50 more

PASSED: startWebkitProxy

PASSED: startAppiumServer

PASSED: killExistingSessions

PASSED: addCapabilities

PASSED: appiumDriverInitialization

FAILED: setNativeAppView

java.lang.NullPointerException

at com.sg.s2bng.driversetup.driversetup.setNativeAppView(driversetup.java:209)

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:104)

at org.testng.internal.Invoker.invokeMethod(Invoker.java:645)

at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851)

at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177)

at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)

at org.testng.TestRunner.privateRun(TestRunner.java:756)

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

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

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:382)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:340)

at org.testng.SuiteRunner.run(SuiteRunner.java:289)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1293)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1218)

at org.testng.TestNG.runSuites(TestNG.java:1133)

at org.testng.TestNG.run(TestNG.java:1104)

at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132)

at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:236)

at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:81)

SKIPPED: setWebView

java.lang.Throwable: Method driversetup.setWebView()[pri:0, instance:com.sg.s2bng.driversetup.driversetup@7dc7cbad] depends on not successfully finished methods

at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1068)

at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)

at org.testng.TestRunner.privateRun(TestRunner.java:756)

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

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

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:382)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:340)

at org.testng.SuiteRunner.run(SuiteRunner.java:289)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1293)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1218)

at org.testng.TestNG.runSuites(TestNG.java:1133)

at org.testng.TestNG.run(TestNG.java:1104)

at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132)

at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:236)

at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:81)

SKIPPED: loginPage

java.lang.Throwable: Method driversetup.loginPage()[pri:0, instance:com.sg.s2bng.driversetup.driversetup@7dc7cbad] depends on not successfully finished methods

at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1068)

at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)

at org.testng.TestRunner.privateRun(TestRunner.java:756)

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

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

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:382)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:340)

at org.testng.SuiteRunner.run(SuiteRunner.java:289)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1293)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1218)

at org.testng.TestNG.runSuites(TestNG.java:1133)

at org.testng.TestNG.run(TestNG.java:1104)

at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132)

at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:236)

at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:81)

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

Default test

Tests run: 8, Failures: 1, Skips: 2

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

Appium server stopped.

iOS Webkit proxy stopped

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

Default suite

Total tests run: 8, Failures: 1, Skips: 2

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

[TestNG] Time taken by org.testng.reporters.EmailableReporter2@59af0466: 6 ms

[TestNG] Time taken by org.testng.reporters.SuiteHTMLReporter@2cd2a21f: 9 ms

[TestNG] Time taken by org.testng.reporters.jq.Main@2fd1433e: 24 ms

[TestNG] Time taken by org.testng.reporters.XMLReporter@2df9b86: 5 ms

[TestNG] Time taken by org.testng.reporters.JUnitReportReporter@33990a0c: 3 ms

[TestNG] Time taken by [FailedReporter passed=0 failed=0 skipped=0]: 5 ms

Code To Reproduce Issue [ Good To Have ]

osCapabilities= new DesiredCapabilities();

iosCapabilities.setCapability("CapabilityType.Browser_Name","Safari");



iosCapabilities.setCapability("browserName", "");//Safari if we invoke browser for automation. Else an empty string.



iosCapabilities.setCapability("autoWebview", true);



iosCapabilities.setCapability("sendKeyStrategy", "grouped");//SetView is an other option. It is applicable only for webview or hybrid app.



iosCapabilities.setCapability("platformName", "iOS");



iosCapabilities.setCapability("appium-version", "1.4.13");



iosCapabilities.setCapability("platformVersion", "9.3.4");



iosCapabilities.setCapability("deviceName", “XXXX Ipad");

// iosCapabilities.setCapability(“device”, “iPad Air 2”);

iosCapabilities.setCapability("appName", "Straight2Bank");



iosCapabilities.setCapability("udid", udidOfDevice);



iosCapabilities.setCapability("bundleId", "com.sc.s2bng.mobile");

// iosCapabilities.setCapability(“FullReset”, true);

iosCapabilities.setCapability("NoReset", false);



iosCapabilities.setCapability("nativeInstrumentsLib", true); //Instructing to use Native instruments lib



iosCapabilities.setCapability("app", "/Users/XX/Documents/XXXX.ipa"); //<Mention the path , when app needs to be installed>

iosCapabilities.setCapability(“orientation”, “PORTRAIT”);//setting up orientation due to open bugs in interacting with UI elements in Landscape mode.

************ APPIUM SERVER FLAGS"""

commandAppiumServer = new CommandLine("/Applications/Appium.app/Contents/Resources/node/bin/node");

commandAppiumServer.addArgument("/Applications/Appium.app/Contents/Resources/node_modules/appium/bin/appium.js", false);

commandAppiumServer.addArgument("–address", false);

commandAppiumServer.addArgument(“127.0.0.1”);

commandAppiumServer.addArgument("–port", false);

commandAppiumServer.addArgument(“4723”);

commandAppiumServer.addArgument("–no-reset", false);//Avoid resetting the app betweeen sessions

// commandAppiumServer.addArgument("–full-reset", false);

// commandAppiumServer.addArgument("–log-level", false);// Will block the console logs in eclipse

commandAppiumServer.addArgument("–session-override", true);

commandAppiumServer.addArgument("–pre-launch", true);

commandAppiumServer.addArgument("–safari", false);

commandAppiumServer.addArgument("–log",false);

commandAppiumServer.addArgument("/tmp/file.log");