WebDriverException: невозможно создать новый сеанс, потому что 'createSession', который принимает HttpClient, InputStream и long, не был найден - PullRequest
0 голосов
/ 20 ноября 2018

Я использую приведенный ниже код для запуска драйвера Android.Но я получаю ошибку во время запуска драйвера.On line:

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);
}

}

Ошибка:

FAILED: testappiumdriver org.openqa.selenium.WebDriverException: невозможносоздайте новый сеанс, так как «createSession», который принимает HttpClient, InputStream и long, не найден или недоступен. Информация о сборке: версия: '3.13.0', ревизия: '2f0d292', время: '2018-06-25T15: 24: 21.231Z 'Системная информация: хост:' PSL-GGN-597 ', ip:' 192.168.2.137 ', os.name:' Windows 10 ', os.arch:' amd64 ', os.version: '10 .0',java.version: '1.8.0_91' Информация о драйвере: driver.version: AndroidDriver на io.appium.java_client.remote.AppiumCommandExecutor $ 1.createSession (AppiumCommandExecutor.java:195) на io.appium.java_client.remote.AppiumCreate (Command)AppiumCommandExecutor.java:209) по адресу io.appium.java_client.remote.AppiumCommandExecutor.execute (AppiumCommandExecutor.java:231) по адресу org.openqa.selenium.remote.RemoteWebDriver.execute (RemoteWebo: app.jpg5)..DefaultGenericMobileDriver.execute (DefaultGenericMobileDriver.java:42) в io.appium.java_client.AppiumDriver.execute (AppiumDriver.java:1) в io.appium.java_client.android.AndroidDriver.execute (AndroidDriver.java:1aagg).remote.RemoteWebDriver.startSession at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:130) в io.appium.java_client.DefaultGenericMobileDriver.(DefaultGenericMobileDriver.java:38) в io.appium.java_client.AppiumDriver. (AppiumDriver.java:84) в io.appium.java_client.AppiumDriver. (AppiumDriver.java:94) в io.appium.javaver(AndroidDriver.java:93) at test.Test.testappiumdriver (Test.java:37)

Я использую ниже jar в моем проекте:

selenium-java 3.13 selenium-сервер 3.13 java-client 6.1.0

Я также пробовал использовать разные версии selenium и java-client, но снова получаю ту же ошибку.

Ответы [ 2 ]

0 голосов
/ 13 мая 2019

**** Решение 1-е ****

 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-ое Или оставьте указанную строку в нужных возможностях, но перед этим запустите 3 cmd для команды 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);
0 голосов
/ 24 ноября 2018

Это сообщение об ошибке ...

org.openqa.selenium.WebDriverException: It is impossible to create a new session because 'createSession' which takes HttpClient, InputStream and long was not found or it is not accessible 
 Build info: version: '3.13.0', revision: '2f0d292', time: '2018-06-25T15:24:21.231Z' 
 System info: host: 'PSL-GGN-597', ip: '192.168.2.137', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_91' 
 Driver info: driver.version: AndroidDriver

... означает, что AndroidDriver не смог инициировать / порождать новый сеанс.

Ваша основная проблема несовместимость между используемой вами версией двоичных файлов:

  • Ваша версия JDK равна 1.8.0_91 , котораядовольно древний .

Решение

  • Обновление JDK до последних уровней JDK 8u191 .
  • Возьмите Перезагрузку системы .
  • Выполните @Test.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...