当我尝试使用 Appium 测试我的 Hello World Android 应用程序时,我得到用于启动应用程序的 Activity 不存在!确保它存在
- 我有一个包含软件包的 apk:
com.company.myapp
- 包中有一个 Activity :
MainActivity
- 该 apk 面向 Android 4.4,API 级别 19
- 我通过
adt-bundle-mac-x86_64-20131030/sdk/tools/emulator -avd 4.4-KitKat-Nexus-4
有一个模拟 Android 设备 - 在 DesiredCapability 中,我已针对
app-activity
尝试了以下操作:“主 Activity ”
“.MainActivity”
“com.company.myapp.MainActivity”
- Appium 的日志显示
debug: Request returned with params: {"desiredCapability":{"newCommandTimeout":"60","app":"/Users/me/Development/workspace/myapp/bin/myapp. apk","平台":"MAC","浏览器名称":"","应用程序包":"com.company.myapp","设备就绪超时":"60","设备":"android ","launch":"true","compressXml":"true","app-wait-activity":"com.company.myapp.MainActivity","app-activity":"com.company.myapp.MainActivity ","版本":"4.4"}}
- Appium 创建一个 session ,启动 android appium,找到我连接的(模拟)设备,显示应用程序未安装,应用程序已签名,找到要保留的 apk,找不到任何要删除的,运行
adb -s emulator-5554 shell pm install -r [发现要保留的apk]
,转发端口4724
,唤醒设备获取{"value":true ,"status":0}
,确保屏幕已解锁...
然后它执行adb -s emulator-5554 shell am start -n com.company.myapp/com.company.myapp.MainActivity
并给出上面的错误消息。
它也尝试使用 .放在 Activity 前面并给出相同的错误消息。
最佳答案
我发现,如果应用程序是在运行测试之前安装的,它不会提示 Activity 不存在。
如果我使用 appium --full-reset
启动 appium,它会卸载现有应用程序,然后安装一些 apk 并找到 Activity。
关于android - 用于启动应用程序的 Activity 不存在!确保它存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20335305/