Java Appium错误:无法创建新会话。(原始错误:未从Chromedriver获取会话重定向)

Java Appium错误:无法创建新会话。(原始错误:未从Chromedriver获取会话重定向),java,selenium,appium,Java,Selenium,Appium,我试图通过Appium运行我的第一个测试,并得到以下错误 org.openqa.selenium.SessionNotCreatedException: A new session could not be created. (Original error: Did not get session redirect from Chromedriver) (WARNING: The server did not provide any stacktrace information) Comman

我试图通过Appium运行我的第一个测试,并得到以下错误

org.openqa.selenium.SessionNotCreatedException: A new session could not be created. (Original error: Did not get session redirect from Chromedriver) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 4.64 seconds Build info: version: '2.41.0', revision: '3192d8a', time: '2014-03-27 17:17:32' os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_51' Driver info: org.openqa.selenium.remote.RemoteWebDriver
设置android功能的最安全方法=DesiredCapabilities.android()

PS:由于脚本无法连接到selenium节点/集线器,因此未创建会话;您应该检查您的配置


与您的post stacktrace一样,它连接到http://**:9515/(与您提到的端口4723不同)

您需要将下面的URL设置为
http://0.0.0.0:9515/wd/hub
而不是
**:4723

WebDriver=newremotewebdriver(新URL(http://**:4723/wd/hub),功能)


Chromedriver的端口默认为9515,而不是4723(如
浏览器名称

尽管这是一个非常老的问题,随着chrome驱动程序版本的更新,appium客户端使用的许多定义也发生了变化。然而,我能发现的是,这里的问题是,从日志中可以看出:

错误:错误:Chromedriver创建会话不工作。地位是200 尸体是 {“sessionId”:“ba9a494082776d6b4836da850072cbcb”,“状态”:13,“值”:{“消息”:“未知” 错误:设备模拟器-5554已在使用中\n(驱动程序信息: chromedriver=2.9.248315,平台=Windows NT 6.1 SP1 x86)“}

这进一步导致:

org.openqa.selenium.SessionNotCreatedException:可以创建新会话 不会被创建。(原始错误:未从中获取会话重定向。) Chromedriver)(警告:服务器未提供任何堆栈跟踪 (资料)

因此SessionNotCreatedException


更简单的解决方法是,在启动另一个会话之前,确保没有其他会话正在进行,以避免端口冲突和会话失败。请在评论下面的语句后尝试运行

import java.net.URL;                

import org.openqa.selenium.WebDriver;                
import org.openqa.selenium.remote.CapabilityType;                
import org.openqa.selenium.remote.DesiredCapabilities;                
import org.openqa.selenium.remote.RemoteWebDriver;                
import org.testng.annotations.AfterMethod;                
import org.testng.annotations.BeforeMethod;                
import org.testng.annotations.Test;                

public class Appium {                

    public WebDriver driver;            

    @BeforeMethod            
    public void beforeMethod() throws Exception {            
        // set up appium        
        DesiredCapabilities capabilities = new DesiredCapabilities();        
        capabilities.setCapability(CapabilityType.BROWSER_NAME, "Browser");        
        capabilities.setCapability("platformName", "Android");        
        capabilities.setCapability("deviceName", "Android Emulator");        
        capabilities.setCapability("platformVersion", "4.4.2");        
        WebDriver driver = new RemoteWebDriver(new URL(        
                http://****:4723/wd/hub), capabilities);
        driver.get("http://www.yahoo.com");        
    }            

    @Test            
    public void f() {            

    }            

    @AfterMethod            
    public void afterMethod() {            
        driver.quit();        
    }            

}
 capabilities.setCapability("platformVersion", "4.4.2"); 

在appium位置将旧的chrome驱动程序替换为新的chrome驱动程序,这对我很有用

Appium位置应类似于:

C:\Program Files (x86)\Appium\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win\

Appium版本:1.4.16.1

是否得到相同的错误?你有办法吗?
C:\Program Files (x86)\Appium\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win\