簡體   English   中英

WebDriverException:無法創建新會話,因為未找到需要HttpClient,InputStream和long的'createSession'

[英]WebDriverException: It is impossible to create a new session because 'createSession' which takes HttpClient, InputStream and long was not found

我正在使用下面的代碼來啟動android驅動程序。 但是啟動驅動程序時出現錯誤。 在線:

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

}

錯誤:

失敗:testappiumdriver org.openqa.selenium.WebDriverException:無法創建新會話,因為找不到包含HttpClient,InputStream和long的'createSession'或無法訪問Build信息:版本:'3.13.0',修訂版:'2f0d292',時間:'2018-06-25T15:24:21.231Z'系統信息:主機:'PSL-GGN-597',ip:'192.168.2.137',操作系統名稱:'Windows 10',os .arch:'amd64',os.version:'10 .0',java.version:'1.8.0_91'驅動程序信息:driver.version:io.appium.java_client.remote.AppiumCommandExecutor $ 1.createSession(AppiumCommandExecutor.java: 195),位於org.openqa.selenium.remote.RemoteWebDriver上的io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:231)的io.appium.java_client.remote.AppiumCommandExecutor.createSession(AppiumCommandExecutor.java:209)上io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:42)上的io.appium.java_client.AppiumDriver.execute.execute(RemoteWebDriver.java:548) io.appium.java_client.android.AndroidDriver.execute(AndroidDriver.java:1)位於org.openqa.selenium.remote.RemoteWebDriver.startSession處的AppiumDriver.java:1)org.openqa.selenium.remote.RemoteWebDriver處的AppiumDriver.java:1)。 (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.java_client.android.AndroidDriver。 (AndroidDriver.java:93)在test.Test.testappiumdriver(Test.java:37)

我在我的項目中使用下面的罐子:

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

我也嘗試過使用不同版本的selenium和java-client,但是再次遇到相同的錯誤。

****解決方案第一

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

此錯誤消息...

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM