美文网首页
⑥error:A new session could not b

⑥error:A new session could not b

作者: by小杰 | 来源:发表于2017-02-28 17:26 被阅读1656次

学习appium,遇到A new session could not be created.问题

Paste_Image.png
问题一:

第一个被测试应用为手机系统自带的计算器应用,测试时出现上述问题,找了很多资料,最后发现问题所在:

  @BeforeClass
  public void setup() throws Exception {
      
        DesiredCapabilities cap = new DesiredCapabilities();
        cap.setCapability(CapabilityType.BROWSER_NAME, ""); 
        cap.setCapability("platformName", "Android");
        cap.setCapability("deviceName", "71MBBLG26R76"); 
        cap.setCapability("platformVersion", "5.1"); 
        
        //这里指定包名和具体Activity
        cap.setCapability("appPackage", "com.meizu.flyme.calculator");
        cap.setCapability("appActivity", "com.meizu.flyme.calculator.Calculator");
        
        #重点所在(解决session无法创建问题)
        //////////////////////////////////////////////////////////////////
        cap.setCapability("appWaitActivity","com.meizu.flyme.calculator.Calculator"); //你想要等待启动的Activity名称
        cap.setCapability("sessionOverride", true); // 每次启动时覆盖session,否则第二次后运行会报错不能新建session
       /////////////////////////////////////////////////////////////////////

        driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), cap);
  }
解决方案一:

我们只需要在配置apk时,添加上面标出的两句代码,问题迎刃而解。


问题二:

上面的测试对象是手机系统带的应用,但是我还不知道有些应用的页面是不能被其他应用调起的,测试我又一次掉坑了~又出现上述问题,A new session could not be created.

解决方案二:

方案说:
<u>是跟AndroidManifest.xml 配置文件有关系,立马百度这个配置文件到底作用是何。最后,找到android开发工程师在AndroidManifest.xml配置文件,在主activity和intent入口处添加:android:exported="true"</u>

Paste_Image.png

问题马上解决,终于可以启动app了!

本人实是小白,如有问题,多多指教。

相关文章

网友评论

      本文标题:⑥error:A new session could not b

      本文链接:https://www.haomeiwen.com/subject/ncnxgttx.html