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

Appium 无法创建新会话。(原始错误:命令失败:)应用程序错误,appium,Appium,我正在做Android设备的自动化测试在Emulator中,它工作正常。连接到设备时,它正在创建并安装一个unlock.apk到android设备。在那之后,下面的错误就来了 我已设置以下配置 DesiredCapabilities=DesiredCapabilities.android(); capabilities.setCapability(MobileCapabilityType.BROWSER_NAME,“”) 在初始化appium驱动程序之前添加以下代码 String cmd = "

我正在做Android设备的自动化测试在Emulator中,它工作正常。连接到设备时,它正在创建并安装一个unlock.apk到android设备。在那之后,下面的错误就来了

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


在初始化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;
}谢谢希夫和维诺

最终解决了那些问题。。我输入了错误的活动名称。所以它被关上了。通过在capability的下面一行设置,它可以很好地运行capability.setCapability(“appActivity”、“com.example.main.LaunchActivity”)

capabilities.setCapability(“deviceName”、“ZZ22cdddP9”);
能力。设置能力(“平台版”、“7.0”);
能力。设置能力(“平台名”、“安卓”);
capabilities.setCapability(“app”,“D:\\abc.apk”);
capabilities.setCapability(“appPackage”、“com.s.abc”);

capabilities.setCapability(“appActivity”、“com.example.main.LaunchActivity”)您正在设置deviceName=设备序列号,这是错误的。udid=deviceSerialNumber是正确的。我也尝试过这种方法,同样的错误你甚至在真实的设备上运行appium。你能帮我分享一下你的配置代码吗。运行应用程序时,io.appium.unlock&io.appium.setting正在移动设备中安装,但会话未创建以运行测试用例扫描您请告诉我如何在appium 1.6.5中添加应用程序路径如何在appium 1.6.5hi中上载apk。。我解决了那些问题。。一个新问题出现了。。会话已终止。。如何解决这个问题。我已经解决了那些问题。。有一个问题。。我需要帮助在android scrren中滚动。。driver.swipe不工作。。我试过JS executer。。你能帮我解决这个问题吗?我的问题是当我注释掉capabilities.setCapability(“appActivity”,“com.splashAnimation.splashAnimation”);这是我的应用程序正在我的手机中运行。。但当我取消线上注释时,应用程序不是午餐。。最后,在我的测试用例中,没有定位错误的元素出现了,我应该怎么做。。请建议我。。将设备名称设置为实际的“三星”或adb设备,即“zz22cdddP9”即可。。两者都一样,但就我而言。。我的申请不是午餐。。当我执行//capabilities.setCapability(“appActivity”、“com.splashAnimation.splashAnimation”)。应用程序正在使用午餐,但它找不到执行测试用例所需的元素..我已经按照您建议的方式完成了。。请帮我解决上述问题。。还将会话overirde添加为true&capabilities.setCapability(“noReset”,true);能力。设置能力(MOBILECABILITYTYPE.FULL_RESET,false);嗨,希夫,我已经解决了那些问题。。有一个问题。。我需要帮助在android scrren中滚动。。driver.swipe不工作。。我试过JS executer。。你能帮我吗?你可以定义你想要滚动的x点和y点以及持续时间驱动程序。滑动(结束x,开始y,开始x,开始y,1000);
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;
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");