当前位置: 首页 > 知识库问答 >
问题:

WebDriverException:无法创建新会话,因为没有找到包含HttpClient、InputStream和long的“create session”

章高爽
2023-03-14
driver = new AndroidDriver<WebElement>(new URL(appiumServiceUrl), capabilities);
public class Test {

protected static AppiumDriver<WebElement> driver;
private AppiumDriverLocalService appiumService;
private String appiumServiceUrl;
Properties prop = new Properties();

@org.testng.annotations.Test
public void testappiumdriver() throws FileNotFoundException, IOException
{
    appiumService = AppiumDriverLocalService.buildDefaultService();
    appiumService.start();
    appiumServiceUrl = appiumService.getUrl().toString();
    prop.load(new FileInputStream("device_capabilities.properties"));
    Map<String, String> prop_map = new HashMap<String, String>();
    for (String key : prop.stringPropertyNames()) {
        prop_map.put(key, prop.getProperty(key));
    }           
    DesiredCapabilities capabilities = new DesiredCapabilities(prop_map);
    driver = new AndroidDriver<WebElement>(new URL(appiumServiceUrl), capabilities);
}

}

selenium-java 3.13 selenium-server 3.13 java-client 6.1.0

我也尝试了不同版本的selenium和java-client,但再次得到相同的错误。

共有1个答案

易元青
2023-03-14

****解决方案1 ST****

 DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability("deviceName", "xyz");
    capabilities.setCapability("platformVersion", "6.0");
    capabilities.setCapability("platformName", Platform.ANDROID);
    capabilities.setCapability("appPackage", "com.hp.HPSupportAssistant");
    capabilities.setCapability("appActivity", "com.hp.HPSupportAssistant.MainActivity");
     capabilities.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, 6000);    capabilities.setCapability(AndroidMobileCapabilityType.AUTO_GRANT_PERMISSIONS,true);
    //desiredCap.setCapability(MobileCapabilityType.AUTOMATION_NAME, AutomationName.ANDROID_UIAUTOMATOR2);

在这里评论下面的行,然后运行它将工作

desiredCap.setCapability(MobileCapabilityType.AUTOMATION_NAME,AutomationName.ANDROID_UIAUTOMATOR2);

解决方案2或保持在所需的能力以上,但在此之前,请在cmd promt上运行3 cmd

adb shell pm list packages -f > D://t.txt
adb uninstall io.appium.uiautomator2.server
adb uninstall io.appium.uiautomator2.server.test

desiredCap.setCapability(MobileCapabilityType.AUTOMATION_NAME,AutomationName.ANDROID_UIAUTOMATOR2);
 类似资料:
  • 这是因为我在一个搜索字段上有一个失败的Behat测试-这个字段是通过javascript添加的,所以我假设Selenium(与我的设置)有问题。 我发现,如果我访问http://localhost:4444/wd/hub并单击“create Session”,选择任何浏览器(android、iphone、firefox、chrome、internet explorer、opera),我将得到错误消

  • org.openqa.selenium.SessionNotCreatedException:无法创建新会话。(原始错误:命令失败:C:\Windows\system32\cmd.exe/s/C“C:\Program Files(x86)\Android\Android sdk\platform tools\adb.exe”-s 69c7aa170104安装“C:\Program Files(x8

  • 有人能帮我吗?我是Android系统的新手,我正尝试在AVD中打开应用程序,安装了应用程序,但我得到错误“一个新的会话不能被创建。(原始错误:命令失败:)”,“杀死”:false,“代码”:1,“信号”:null,“origvalue”:“命令失败:”},“sessionid”:null} 谢谢你事先的帮助 尝试只提供Capabilities.SetCapability(“AppActivity”

  • 我正试图使用Selenium Grid启动一款新的Chrome浏览器,但最终出现以下错误 无法创建新的远程会话。所需功能=能力[{浏览器名称=chrome,版本=55.0.2,平台=WINDOWS}],所需功能=能力[{}]构建信息:版本:“3.0.1”,修订版本:“1969d75”,时间:“2016-10-18 09:49:13 -0700”系统信息:主机:“PL9710388”,ip:“10.

  • 当我尝试运行测试时,我得到这个错误。 sessionNotCreatedException:无法创建新的远程会话。所需功能=功能[{PlatformName=Android,DeviceName=F4AZFG07P508}],所需功能=功能[{}]生成信息:版本:“3.3.1”,修订版:“5234B325D5”,时间:“2017-03-10 09:10:29+0000”系统信息:主机:“MacBo

  • null 我的脚本中使用的代码: 详细的堆栈跟踪: an 19,2017 6:07:36 PM org.openqa.selenium.remote.ProtocolHandshake创建session信息:尝试双方言会话,假设Postel定律在远程端成立,Jan 19,2017 6:07:37 PM org.openqa.selenium.remote.ProtocolHandshake创建se