用于启动应用程序的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.
原始错误:用于启动应用程序的活动不存在或无法启动!确保它存在并且是可启动的活动.
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.
推荐答案
问题不言而喻:您未提供识别您应用的活动或指定了错误的应用.
您可以做什么:
- 将设备连接到笔记本电脑,确保已打开adb调试
- 手动安装您的应用并启动它
- 在终端运行中:
adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'
- 检查输出,您将得到类似的内容:
com.yourcompany.package/com.yourcompany.package.login.view.LoginActivity
因此,现在您有了应提供Appium的程序包-com.yourcompany.package
和活动com.yourcompany.package.login.view.LoginActivity
.
So now you have package - com.yourcompany.package
and activity com.yourcompany.package.login.view.LoginActivity
that you should provide Appium.
- 添加新功能,全套应如下所示:
DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("deviceName", "device"); capabilities.setCapability("app", pathToApk); capabilities.setCapability("platformName", "android"); capabilities.setCapability("appWaitPackage", "com.yourcompany.package"); capabilities.setCapability("appWaitActivity", "com.yourcompany.package.login.view.LoginActivity");
- Add new capabilities, full set should look like:
DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("deviceName", "device"); capabilities.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屋!