用于启动应用程序的Appium-Activity不存在或无法启动!确保它存在并且是可启动的活动 [英] Appium-Activity used to start app doesn't exist or cannot be launched! Make sure it exists and is a launchable activity

查看:597
本文介绍了用于启动应用程序的Appium-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.

推荐答案

问题不言而喻:您未提供识别您应用的活动指定了错误的应用.

您可以做什么:

  1. 将设备连接到笔记本电脑,确保已打开adb调试
  2. 手动安装您的应用并启动它
  3. 在终端运行中:

adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'

  1. 检查输出,您将得到类似的内容:

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.

  1. 添加新功能,全套应如下所示: 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");
  1. 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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆