用于启动应用程序的 Appium-Activity 不存在或无法启动!确保它存在并且是一个可启动的活动 [英] Appium-Activity used to start app doesn't exist or cannot be launched! Make sure it exists and is a launchable activity
问题描述
我正在尝试使用 appium 运行在 eclipse 上创建的测试文件.当我在连接到系统的真实 android 设备上执行测试时,出现以下错误:
I am trying to run a test file created on eclipse using appium. When I execute the test on a real android device connected to the system, I get the following error:
运行命令时遇到内部错误:
Encountered internal error running the command:
错误:启动应用程序时出错.
Error: Error occurred while starting App.
原始错误:用于启动应用程序的 Activity 不存在或无法启动!确保它存在并且是一个可启动的活动.
Original error: Activity used to start app doesn't exist or cannot be launched! Make sure it exists and is a launchable activity.
应用在手动和模拟器上都可以正常打开,所以我不确定真实设备有什么问题.
The app opens fine manually and on the emulator so I'm not sure what's the issue with real devices.
推荐答案
问题不言自明:您要么没有提供活动来识别您的应用,要么您指定了错误的应用.
The issue speaks for itself: you either did not provide activity to recognise your app or you specified the wrong one.
你可以做什么:
- 将设备连接到笔记本电脑,确保开启 adb 调试
- 手动安装您的应用并启动它
- 在终端运行:
adb shell dumpsys window windows |grep -E 'mCurrentFocus|mFocusedApp'
- 检查输出,你会得到类似的信息:
com.yourcompany.package/com.yourcompany.package.login.view.LoginActivity
所以现在你有包 - com.yourcompany.package
和活动 com.yourcompany.package.login.view.LoginActivity
你应该提供 Appium.
So now you have package - com.yourcompany.package
and activity com.yourcompany.package.login.view.LoginActivity
that you should provide Appium.
- 添加新功能,全套应如下所示:<代码>DesiredCapabilities 能力 = 新的 DesiredCapabilities();Capability.setCapability("deviceName", "device");capability.setCapability("app", pathToApk);capabilities.setCapability("platformName", "android");capabilities.setCapability("appWaitPackage", "com.yourcompany.package");capabilities.setCapability("appWaitActivity", "com.yourcompany.package.login.view.LoginActivity");
在多个真实设备上非常适合我
Works perfectly for me on multiple real devices
这篇关于用于启动应用程序的 Appium-Activity 不存在或无法启动!确保它存在并且是一个可启动的活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!