2015-08-17 6 views
3

Я использую Appium 1.4.8 для iOS. Я создал код в симуляторе с помощью xcode и успешно смог запустить сервер, а также Appium Inspector. Но при запуске моего кода он бросает ошибку ниже.org.openqa.selenium.SessionNotCreatedException: новый сеанс не может быть создан. (Исходная ошибка: запросил новый сеанс, но один из них был выполнен)

Моих возможностей являются @BeforeMethod общественности недействительной нАлАдкИ() бросает MalformedURLException {

DesiredCapabilities capabilities = new DesiredCapabilities(); 
capabilities.setCapability("appium-version", "1.0"); 
capabilities.setCapability("platformName", "iOS"); 
capabilities.setCapability("platformVersion", "8.4"); 
capabilities.setCapability("deviceName", "iPad 2"); 
capabilities.setCapability("app", "/Users/arunhs/Desktop/AppiumReq/SRC/build/Debug-iphonesimulator/ComplianceWire.app"); 
driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); 
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS); 

}

Error is: 
FAILED CONFIGURATION: @BeforeMethod setUp 
org.openqa.selenium.SessionNotCreatedException: A new session could not be created. (Original error: Requested a new session but one was in progress) (WARNING: The server did not provide any stacktrace information) 
Command duration or timeout: 447 milliseconds 
Build info: version: '2.47.1', revision: '411b314', time: '2015-07-30 03:03:16' 
System info: host: 'N/A', ip: 'N/A', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.10.4', java.version: '1.7.0_79' 
Driver info: io.appium.java_client.AppiumDriver 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206) 
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158) 
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:595) 
at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:88) 
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:242) 
at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:128) 
at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:155) 
at io.appium.java_client.AppiumDriver.(AppiumDriver.java:44) 
at com.selenium.test.DriverScript.setUp(DriverScript.java:68) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85) 
at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:515) 
at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:213) 
at org.testng.internal.Invoker.invokeMethod(Invoker.java:590) 
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:834) 
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1142) 
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:124) 
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108) 
at org.testng.TestRunner.privateRun(TestRunner.java:771) 
at org.testng.TestRunner.run(TestRunner.java:621) 
at org.testng.SuiteRunner.runTest(SuiteRunner.java:357) 
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:352) 
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:310) 
at org.testng.SuiteRunner.run(SuiteRunner.java:259) 
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) 
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) 
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1176) 
at org.testng.TestNG.runSuitesLocally(TestNG.java:1101) 
at org.testng.TestNG.run(TestNG.java:1009) 
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111) 
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204) 
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175) 
+0

Убедитесь, что только один экземпляр appium сервера работает на вашем компьютере. Закройте все сервер приложений, запустите сервер и повторите попытку. – Gaurav

ответ

5

Это происходит потому, что предыдущая сессия не была остановлена ​​должным образом, и это происходит, когда исключение выбрано в вашем тесте. Перезагрузите сервер приложений и попробуйте, он должен решить проблему.

В качестве альтернативы, если Вы начинаете appium как процесс узла, вы можете дать опцию '--session-override true' и это позволило бы избежать этой проблемы

+0

контактный ответ +1 для вас. – Chetan

+1

Я использовал «-session-override true», но это не сработало. Такая же ошибка. –

3

работают для меня следующее. Я тестирую, подключая Android-устройство. Пожалуйста, внесите изменения в соответствии с вашими потребностями и примените, это должно работать сейчас.

 DesiredCapabilities capabilities = new DesiredCapabilities().android(); 
     capabilities.setCapability("no",true); 
     capabilities.setCapability("newCommandTimeout", 100000); 
     capabilities.setCapability("noReset", true); 
     capabilities.setCapability(CapabilityType.BROWSER_NAME, ""); 
     capabilities.setCapability(CapabilityType.VERSION, "4.4.2"); 
     capabilities.setCapability("deviceName", "Galaxy nexus"); 
     capabilities.setCapability("app", application.getAbsolutePath()); 
     capabilities.setCapability("automationName", "selendroid"); 
     capabilities.setCapability("noRest", true); 
     driver = new AndroidDriver<MobileElement>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); 
+2

В чем смысл этого? capability.setCapability ("no", true); –

0

Добавление имени устройства в возможности. В журналах appium я мог понять недостающую вещь.

1

Если на appium приложение, затем выберите Override Existing Sessions флажок в разделе Настройки -

enter image description here

Смежные вопросы