【问题标题】:Appium: A new session could not be createdAppium:无法创建新会话
【发布时间】:2015-01-06 11:31:50
【问题描述】:

在发布这个问题之前,我在 Stackoverflow 和其他论坛上回答了这些问题:

  1. A new session could not be created. (Original error: Instruments crashed on startup)
  2. Appium Error : A new session could not be created. (Original error: Did not get session redirect from Chromedriver)
  3. https://github.com/appium/appium/issues/2981
    并在下面的代码中做了一些更改:

    代码:

    package test.appium;
    
    import io.appium.java_client.AppiumDriver;
    
    import java.io.File;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.util.concurrent.TimeUnit;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.remote.CapabilityType;
    import org.openqa.selenium.remote.DesiredCapabilities;
    import org.testng.annotations.Test;
    
    public class WordPad {
    WebDriver dr;
    
    @Test
    public void testApp() throws MalformedURLException, InterruptedException {
        String apkpath = "D:\\apkdump\\blackcarbon.wordpad.apk";
        File app = new File (apkpath);
        DesiredCapabilities capabilities= new DesiredCapabilities();
        capabilities.setCapability(CapabilityType.BROWSER_NAME,"");
        capabilities.setCapability("deviceName","TestOneAdb1");
        capabilities.setCapability("appium-version", "1.2.4.1");
        capabilities.setCapability("platformName","Android");
        capabilities.setCapability("app",app.getAbsolutePath());
        capabilities.setCapability("appPackage", "com.wordpad");
        capabilities.setCapability("appActivity", "com.wordpad.Main");
        dr = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"),capabilities);                    
        dr.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
        dr.quit();      
    }   
    }
    

    但我仍然收到错误:

    info: [debug] UiAutomator 正常关闭

    错误:无法启动 Appium 会话,错误是:错误:用于启动应用程序的 Activity 不存在或无法启动!确保它存在并且是可启动的活动

    info: [debug] 清理 android 对象

    info: [debug] 清理 appium 会话

    信息:[调试]错误:用于启动应用程序的活动不存在或无法启动!确保它存在并且是可启动的活动

    at null.<anonymous> (D:\MobileTesting\Appium\node_modules\appium\node_modules\appium-adb\lib\adb.js:1143:21)
    
    at null.<anonymous> (D:\MobileTesting\Appium\node_modules\appium\node_modules\appium-adb\lib\adb.js:172:9)
    
    at ChildProcess.exithandler (child_process.js:635:7)
    
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    
    at maybeClose (child_process.js:743:16)
    
    at Process.ChildProcess._handle.onexit (child_process.js:810:5)
    

    info: [debug] Responding to client with error: {"status":33,"value":{"message":"A new session could not be created. (Original error: Activity used to start app does' t 存在或无法启动!确保它存在并且是可启动的活动)","origValue":"用于启动应用程序的活动不存在或无法启动!确保它存在并且是可启动的活动"}, "sessionId":null}

    信息:[37m

    1. 在模拟器上手动安装应用程序并检查它是否工作:它工作正常
    2. 一旦通过代码安装了应用程序:我可以在模拟器上手动玩,它工作得非常好。
    3. 尝试从最新的1.1.0 降级Appium 版本但同样的错误
    4. 在代码中指定Appiumversion 功能,尝试过但还是同样的错误。

让我知道我缺少什么,安装后如何启动应用程序?

【问题讨论】:

    标签: java android automation appium


    【解决方案1】:

    可能的原因:

    1。 似乎问题在于缺少一项功能或不正确的 android 版本:

    capabilities.setCapability("platformVersion", "4.4");
    

    由于您没有使用“Selendroid”作为自动化模式,因此您用于测试的模拟器或设备应该是 Android 4.2+。

    请确保并在列表中提及上述所需功能。

    2。 而不是使用

    capabilities.setCapability("appActivity", "com.wordpad.Main");
    

    试试

    capabilities.setCapability("appActivity", ".Main");
    

    【讨论】:

    • 我已经添加了selendroid-standalone-0.12.0-with-dependencies.jar 并在第 2 步中再写了一行,但它不起作用。所以我也添加了 Step1,以及 selendroid-standalone-0.12.0-with-dependencies.jar 和 step2。但仍然是同样的错误。这段代码对你有用吗?
    【解决方案2】:

    我有类似的问题。我的错误信息也是

    "用于启动应用的Activity不存在或无法启动!使 确保它存在并且是可启动的活动”。

    就我而言,我在两个地方设置了不同的主要活动。

    第一个 - Appium GUI:

    Appium --> Android Settings --> Main Activity, Package and App Path
    

    第二个——在代码中:

    capabilities.setCapability("appPackage", "com.company.AppName");
    capabilities.setCapability("appActivity", "com.company.AppName.AppMainActivity");
    

    以上两个必须一致 - 相同的包和活动。

    【讨论】:

      【解决方案3】:

      我遇到了同样的错误,原来是因为我更改了项目的目录名称,所以 apk 的路径错误。肯定是一个愚蠢的错误,但可能值得检查以防万一。

      【讨论】:

        猜你喜欢
        • 2018-03-05
        • 1970-01-01
        • 1970-01-01
        • 2017-09-10
        • 2022-01-16
        • 1970-01-01
        • 1970-01-01
        • 2019-10-12
        相关资源
        最近更新 更多