【问题标题】:Could not find a connected Android device找不到已连接的 Android 设备
【发布时间】:2017-11-02 19:25:37
【问题描述】:

我无法启动 android 模拟器来运行我的自动化脚本。

但是,当我使用 emulator -avd Pixel_API_25 -port 5557/Android/sdk/tools 目录手动启动 android 模拟器时,我的自动化脚本可以正常工作。

我希望能够在我的自动化脚本中加载 android 模拟器。

请在下面查看我的 env.rb 文件。

require 'rubygems'
require 'rspec/expectations'
require 'selenium-webdriver'
require 'pry'
require 'appium_lib'

APP_PATH = '/Users/shafiq.malik/Documents/Projects/nuff-class-booking-
mobile/platforms/ios/build/emulator/HelloCordova.app'

  desired_caps = {
      caps: {:platformName => "Android",
             :platformVersion => "7.1.1",
             :deviceName => "Pixel_API_25",
             :app => "/Users/shafiq.malik/Documents/Projects/nuff-
             class-booking-
             mobile/platforms/android/build/outputs/apk/android-
             debug.apk",
             :appPackage => "com.android.settings",
             #:appActivity => ".Settings",
             :browserName =>''
             }

  }

@driver = Appium::Driver.new(desired_caps).start_driver
Appium.promote_appium_methods self.class

def server_url
  'http://localhost:8000/wd/hub'
end

有人有什么建议吗?

【问题讨论】:

  • 你使用的是哪个appium版本?您是否尝试在 appium 中检查 launch AVD 选项?如果它不可用,您可以尝试将AVD 添加到您想要的功能并重新检查吗?

标签: android ruby selenium cucumber appium


【解决方案1】:

尝试将此添加到您想要的功能中。您需要avd 能力才能启动模拟器。

在java中 capabilities.setCapability("avd","AndroidTestDevice");

如果是红宝石,这两个中的任何一个。

  1. avd: "AndroidTestDevice",
    1. :avd => "AndroidTestDevice",

你想要的上限应该是这样的

desired_caps = {
      caps: {:platformName => "Android",
             :platformVersion => "7.1.1",
             :deviceName => "Pixel_API_25",
             :app => "/Users/shafiq.malik/Documents/Projects/nuff-
             class-booking-
             mobile/platforms/android/build/outputs/apk/android-
             debug.apk",
             :appPackage => "com.android.settings",
             `:avd => "AndroidTestDevice",`
             #:appActivity => ".Settings",
             :browserName =>''
             }

  }

附带说明,不要将根目录作为应用程序的文件路径。如果您使用 CI,这可能会在以后导致问题,而不是在您仅指明 .apk.app/.ipa 名称的通用代码中。

【讨论】:

  • 启动模拟器真是太棒了。使用我在 Android Studio 中创建的设备而不是 AndroidTestDevice。但是它没有加载应用程序并给我Original error: Error occured 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 (Selenium::WebDriver::Error::UnknownError) 我怎样才能让应用程序弹出并使用该应用程序?
  • 顺便说一句,你有这个代码做什么? APP_PATH = '/Users/shafiq.malik/Documents/Projects/nuff-class-booking- mobile/platforms/ios/build/emulator/HelloCordova.app' 。考虑到您正在执行 android 测试
  • 是的,我希望能够测试一个 android 应用程序。
  • @ShafiqAhmedMalik 你需要去appium并取消选中可启动的活动
  • appologies 我对 appium 很陌生。我该怎么做?
猜你喜欢
  • 2017-10-31
  • 2020-06-09
  • 2019-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-07
相关资源
最近更新 更多