一、自动删除contactmanager
自动化测试appium提供的sample如下包/activity:com.example.android.contactmanager/.ContactManager ,发现提示如下错误
info: [debug] Error: Activity used to start app doesn't exist or cannot be launched! Make sure it exists and is a launchable activity
> at [object Object].<anonymous> (C:\Program Files (x86)\Appium\node_modules\appium\node_modules\appium-adb\lib\adb.js:1146:21)
> at [object Object].<anonymous> (C:\Program Files (x86)\Appium\node_modules\appium\node_modules\appium-adb\lib\adb.js:180:9)
> at ChildProcess.exithandler (child_process.js:742:7)
> at ChildProcess.emit (events.js:110:17)
> at maybeClose (child_process.js:1016:16)
> at Process.ChildProcess._handle.onexit (child_process.js:1088: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 doesn't exist or cannot be launched! Make sure it exists and is a launchable activity)","origValue":"Activity used to start app doesn't exist or cannot be launched! Make sure it exists and is a launchable activity"},"sessionId":null}
> info: <-- POST /wd/hub/session 500 2518.066 ms - 346
发现提示该包不存在。很奇怪我安装了之后确认能够运行了之后再运行的自动化代码,为什么提示不存在呢?
于是观察模拟器运行界面信息,发现启动代码后自动把模拟器中的contactmanager删除了,那当然找不到这个包和activity啦。
二、Failed to start an Appium session, err was: Error: Requested a new session but one was in progress
这是由于之前的会话没有关闭,然后你又开启了测试实例,解决方法:
1. 停止appium服务
2. 在Genarel Setting那里设置覆盖Session,重启Appium
测试结束在AfterClass加driver.quit()