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



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

假设$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

最新更新