找不到已连接的Android设备

时间:2017-06-01 15:01:06

标签: android ruby selenium cucumber appium

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

然而,当我使用/Android/sdk/toolsemulator -avd Pixel_API_25 -port 5557目录手动启动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

有人有任何建议吗?

1 个答案:

答案 0 :(得分:0)

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

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

对于红宝石,这两者中的任何一个。

  1. avd: "AndroidTestDevice",
    1. :avd => "AndroidTestDevice",
  2. 你想要的帽子应该是这样的

    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名称。