学习appium,遇到A new session could not be created.问题
问题一:
第一个被测试应用为手机系统自带的计算器应用,测试时出现上述问题,找了很多资料,最后发现问题所在:
@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>
问题马上解决,终于可以启动app了!
本人实是小白,如有问题,多多指教。