如何使用Ruby在Appium中验证是否打开了键盘

时间:2015-03-13 14:17:56

标签: ruby appium

我正在尝试验证键盘是否打开。 要隐藏键盘,我们有:hide_keyboard 但我没有得到任何东西来检查Appium是否使用Ruby打开键盘。

1 个答案:

答案 0 :(得分:1)

假设$driver是您的Appium::Driver实例:

def keyboard_present?
  if $driver.device_is_android?
    `adb shell dumpsys input_method`[/mInputShown=\w+/i].split('=')[1] == 'true'
  else
    begin
      # $driver.driver will return Selenium::WebDriver instance
      # we set implicit wait to 0.1 to get immediate response 
      $driver.driver.manage.timeouts.implicit_wait = 0.1
      # make sure to reset implicit wait back to default (20, I guess), if needed
      $driver.find_element(:xpath, '//UIAKeyboard').displayed?
    rescue Selenium::WebDriver::Error::NoSuchElementError
      false
    end
  end
end