无法创建新会话。 (原始错误:命令失败:)Appium错误

问题描述:

我正在为Android设备进行自动测试。 在模拟器中它工作正常。在连接到设备时,它会创建&将安装unlock.apk安装到Android设备。之后,下面的错误即将到来enter image description here无法创建新会话。 (原始错误:命令失败:)Appium错误

我已在下面设置配置 DesiredCapabilities功能= DesiredCapabilities.android(); capabilities.setCapability(MobileCapabilityType.BROWSER_NAME,“”);

 capabilities.setCapability("deviceName", "Moto C Plus"); 
    //capabilities.setCapability("deviceName", "ZZ22cdddP9"); 
    // capabilities.setCapability("udid", "ZZ22cdddP9"); 
    capabilities.setCapability("platformVersion", "7.0"); 
    capabilities.setCapability("platformName", "Android"); 
    capabilities.setCapability("browserName", "chrome"); 
    //capabilities.setCapability("Device Id", "xxxxxxxx"); 
      capabilities.setCapability("app", "D:\\abc.apk"); 
    capabilities.setCapability("appPackage", "com.s.abc"); 
    capabilities.setCapability("appActivity", "com.s.sn"); 
+0

要设置设备名称=设备序列号,这是不对的。 udid = deviceSerialNumber是正确的。 – Vinod

+0

我曾试过这种方式也有相同的错误 – Vijay

+0

你甚至可以在真实设备上运行appium。你能帮我分享一下你的配置代码吗?当运行应用程序io.appium.unlock&io.appium.setting正在安装在移动但会话不创建运行测试案例 – Vijay

在初始化您的appium驱动程序之前添加以下代码。

String cmd = "adb shell getprop ro.build.version.release"; 

String osVersion=executeCommand(cmd); 

if(osVersion.contains("7")) 
{ 
    //uninstall io.appium.settings 
    cmd="adb uninstall io.appium.settings"; 
    executeCommand(cmd); 

    //uninstall io.appium.unlock 
    cmd="adb uninstall io.appium.unlock"; 
    executeCommand(cmd); 

} 

public String executeCommand(String cmd) 
{ 
    String commandresponse=""; 
    try 
    { 
     Runtime run = Runtime.getRuntime(); 
     Process proc=run.exec(cmd); 
     BufferedReader stdInput = new BufferedReader(new 
       InputStreamReader(proc.getInputStream())); 

    BufferedReader stdError = new BufferedReader(new 
      InputStreamReader(proc.getErrorStream())); 

    String response=null; 
    while ((response = stdInput.readLine()) != null) 
    { 
     if(response.length()>0) 
     { 
      commandresponse=commandresponse+response; 
     } 
    } 

    while ((response = stdError.readLine()) != null) 
    { 
     commandresponse=commandresponse+response; 

    } 
} 
catch(Exception e) 
{ 
    e.printStackTrace(); 
} 
//System.out.println(commandresponse); 
return commandresponse; 

}

+0

你能告诉我如何添加应用程序路径在appium 1.6.5 – Vijay

+0

如何上传apk appium 1.6.5 – Vijay

+0

嗨..我解决了这些问题..一个新问题arrised ..会议已终止..如何解决此 – Vijay

Set following capabilities only and try to start appium : 
Note : deviceName should be name which we will get using "adb devices" command. 

    capabilities.setCapability("deviceName", "ZZ22cdddP9"); 
    capabilities.setCapability("platformVersion", "7.0"); 
    capabilities.setCapability("platformName", "Android"); 
    capabilities.setCapability("app", "D:\\abc.apk"); 
    capabilities.setCapability("appPackage", "com.s.abc"); 
    capabilities.setCapability("appActivity", "com.s.sn"); 
+0

我的问题是当我注释掉capabilities.setCapability(“appActivity”,“com.splashAnimation.SplashAnimation”);这个我的应用程序是在我的手机午餐..但是当我取消注释上线应用程序不是午餐..最后在我的测试用例元素没有定位错误即将到来 – Vijay

+0

我该怎么做.. plese建议我..设置设备名称与实际作为“三星”或adb设备,即“zz22cdddP9”是好的..都是相同的,但在我的情况下..我的应用程序不是午餐..当我做//capabilities.setCapability(“appActivity”,“com.splashAnimation.SplashAnimation “); 。应用程序正在执行测试,但它找不到执行测试用例所需的元素。 – Vijay

+0

我已经做了同样的方式,因为您建议..请帮助我解决上述问题。同时添加会话overirde作为true&capabilities.setCapability( “noReset”,true); \t capabilities.setCapability(MobileCapabilityType.FULL_RESET,false); – Vijay

感谢希夫&维诺德,

终于解决了这些问题。我是把错误的活动名称。所以它正在关闭。通过设置下线的能力,它的工作很好capabilities.setCapability(“appActivity”,“com.example.main.LaunchActivity”);

capabilities.setCapability("deviceName", "ZZ22cdddP9"); 
 
    capabilities.setCapability("platformVersion", "7.0"); 
 
    capabilities.setCapability("platformName", "Android"); 
 
    capabilities.setCapability("app", "D:\\abc.apk"); 
 
    capabilities.setCapability("appPackage", "com.s.abc"); 
 
    capabilities.setCapability("appActivity", "com.example.main.LaunchActivity");