在eclipse中使用appium运行脚本作为测试时.它告诉我无法创建新会话



在eclipse中使用appium运行脚本作为测试。它告诉我无法创建新会话。

错误如下:

配置失败:@BeforeClass设置sessionnotcreatedexception:无法创建新会话。(原始错误:找不到已连接的(警告:服务器没有提供任何堆栈跟踪信息)命令持续时间或超时时间:27.86秒构建信息:version: '2.48.2', revision: '41bccdd',时间:'2015-10-09 19:55:52'系统信息:host: 'Emnas-Mac '。local', ip: '192.168.116.130', OS .name: 'Mac OS X',Arch: 'x86_64'版本:"10.10.5",java。版本:"1.8.0_65"驱动信息:io.appium.java_client.android.AndroidDriver在sun.reflect.NativeConstructorAccessorImpl。newInstance0(本地方法)sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java: 62)sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java: 45)java.lang.reflect.Constructor.newInstance (Constructor.java: 422)org.openqa.selenium.remote.ErrorHandler.createThrowable (ErrorHandler.java: 206)org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed (ErrorHandler.java: 158)org.openqa.selenium.remote.RemoteWebDriver.execute (RemoteWebDriver.java: 647)在io.appium.java_client.DefaultGenericMobileDriver.execute (DefaultGenericMobileDriver.java: 42)io.appium.java_client.AppiumDriver.execute (AppiumDriver.java: 1)io.appium.java_client.android.AndroidDriver.execute (AndroidDriver.java: 1)org.openqa.selenium.remote.RemoteWebDriver.startSession (RemoteWebDriver.java: 247)在org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java: 129)在org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java: 142)在io.appium.java_client.DefaultGenericMobileDriver。(DefaultGenericMobileDriver.java: 37)在io.appium.java_client.AppiumDriver。(AppiumDriver.java: 161)在io.appium.java_client.AppiumDriver。(AppiumDriver.java: 170)在io.appium.java_client.android.AndroidDriver。(AndroidDriver.java: 82)test.HomePage.setUp (HomePage.java: 30)在sun.reflect.NativeMethodAccessorImpl。invoke0(本地方法)sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java: 62)sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java: 43)java.lang.reflect.Method.invoke (Method.java: 497)org.testng.internal.MethodInvocationHelper.invokeMethod (MethodInvocationHelper.java: 85)org.testng.internal.Invoker.invokeConfigurationMethod (Invoker.java: 510)org.testng.internal.Invoker.invokeConfigurations (Invoker.java: 211)org.testng.internal.Invoker.invokeConfigurations (Invoker.java: 138)org.testng.internal.TestMethodWorker.invokeBeforeClassMethods (TestMethodWorker.java: 170)org.testng.internal.TestMethodWorker.run (TestMethodWorker.java: 104)org.testng.TestRunner.privateRun (TestRunner.java: 773)org.testng.TestRunner.run (TestRunner.java: 623)org.testng.SuiteRunner.runTest (SuiteRunner.java: 357)

下面是我的设置方法:
AndroidDriver driver;

//UiDevice mydevice = getUiDevice();
@BeforeClass
public void setUp() throws MalformedURLException{
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("deviceName", "6b1cffac");
capabilities.setCapability("version", "5.0.1");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("appPackage", "MyPackage"); 
capabilities.setCapability("appActivity", "com.gtl.activity.SplashActivity");
driver =   new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),capabilities);
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);}

我也得到这个异常:[TestNG]运行:/私人/var/文件夹/b4/4xhr5zcs3y75f17swbzvkbj40000gn/T/testng - eclipse - 661364855/testng-customsuite.xml

配置失败:@BeforeClass setUpunreachable browserexception: cannot not开始一个新的会话。可能原因:远端地址无效服务器或浏览器启动失败。Build info: version: '2.48.2',revision: '41bccdd', time: '2015-10-09 19:55:52'系统信息:host:"Emnas-Mac。local', ip: '192.168.116.130', OS .name: 'Mac OS X',操作系统。Arch: 'x86_64'版本:'10.10.5',java。版本:"1.8.0_65"驱动信息:Driver。版本:AndroidDriver atorg.openqa.selenium.remote.RemoteWebDriver.execute (RemoteWebDriver.java: 641)在io.appium.java_client.DefaultGenericMobileDriver.execute (DefaultGenericMobileDriver.java: 42)appiumdriver .execute(AppiumDriver.java:1io.appium.java_client.android.AndroidDriver.execute (AndroidDriver.java: 1)在org.openqa.selenium.remote.RemoteWebDriver.startSession (RemoteWebDriver.java: 247)在org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java: 129)在org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java: 142)在io.appium.java_client.DefaultGenericMobileDriver。(DefaultGenericMobileDriver.java: 37)appiumdriver .(AppiumDriver.java:161) atio.appium.java_client.AppiumDriver (AppiumDriver.java: 170)io.appium.java_client.android.AndroidDriver (AndroidDriver.java: 82)test.HomePage.setUp (HomePage.java: 30)sun.reflect.NativeMethodAccessorImpl。invoke0(本机方法)atsun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java: 62)在sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java: 43)java.lang.reflect.Method.invoke(Method.java:497org.testng.internal.MethodInvocationHelper.invokeMethod (MethodInvocationHelper.java: 85)在org.testng.internal.Invoker.invokeConfigurationMethod (Invoker.java: 510)org.testng.internal.Invoker.invokeConfigurations (Invoker.java: 211)org.testng.internal.Invoker.invokeConfigurations (Invoker.java: 138)在org.testng.internal.TestMethodWorker.invokeBeforeClassMethods (TestMethodWorker.java: 170)org.testng.internal.TestMethodWorker.run (TestMethodWorker.java: 104)testrunon .java:773org.testng.TestRunner.run (TestRunner.java: 623)org.testng.SuiteRunner.runTest (SuiteRunner.java: 357)org.testng.SuiteRunner.runSequentially (SuiteRunner.java: 352)org.testng.SuiteRunner.privateRun (SuiteRunner.java: 310)org.testng.SuiteRunner.run (SuiteRunner.java: 259)org.testng.SuiteRunnerWorker.runSuite (SuiteRunnerWorker.java: 52)org.testng.SuiteRunnerWorker.run (SuiteRunnerWorker.java: 86)org.testng.TestNG.runSuitesSequentially (TestNG.java: 1185)org.testng.TestNG.runSuitesLocally (TestNG.java: 1110)org.testng.TestNG.run (TestNG.java: 1018)org.testng.remote.RemoteTestNG.run (RemoteTestNG.java: 111)org.testng.remote.RemoteTestNG.initAndRun (RemoteTestNG.java: 204)org.testng. remotetestng .main(RemoteTestNG.java:175)原因:org.openqa.selenium.WebDriverException:org.apache.http.conn.HttpHostConnectException:连接到127.0.0.1:4723 [/127.0.0.1] failed: Connection refused构建信息:version: '2.48.2', revision: '41bccdd',时间:'2015-10-09 19:55:52'系统信息:host: 'Emnas-Mac '。本地',ip: '192.168.116.130', os.name:Mac OS X, OS。Arch: 'x86_64'版本:'10.10.5',java.version:'1.8.0_65'驱动程序信息:驱动程序。版本:AndroidDriver atio.appium.java_client.remote.AppiumCommandExecutor.execute (AppiumCommandExecutor.java: 79)在org.openqa.selenium.remote.RemoteWebDriver.execute (RemoteWebDriver.java: 620)

我的问题是,代码运行良好,如果我关闭appium和重新启动它再次清理,在eclipse中构建我的项目。否则,如果我再次运行它,会得到一个异常。我有义务重新启动appium和清理我的项目,每次我想运行我的脚本?

@Emna您可以使用appium服务器功能来减少超时时间

capabilities= new DesiredCapabilities();
capabilities.setCapability("newCommandTimeout","30");

参考:http://appium.io/slate/en/v1.2.0/?ruby#appium-server-capabilities

——command-timeout 60服务器对所有会话使用的默认命令超时时间。仍然会被newCommandTimeout覆盖

最新更新