ADB键码无法使用Android键盘搜索搜索键与输入键

时间:2016-10-06 23:08:29

标签: android android-edittext adb appium android-softkeyboard

为什么特定文本字段/搜索栏在发送搜索或输入密钥代码时无法触发搜索?

  • 在Android键盘上,搜索键是带有转移的Enter键吗?或者它是一个完全不同的钥匙?
  • 搜索键的转移是什么?或者它是自己的密码?
  • Android密钥代码KEYCODE_ENTER是否按了搜索键?或KEYCODE_SEARCH

我和这个家伙有同样的问题,想出了一个修复程序(下面):Unable to click the Search(magnifying glass) button in Android keyboard using Appium/Selenium/Java

虽然我的问题是相关的,但我的问题是 Android键盘上搜索键的转移 是什么,< strong> 为什么 没有KEYCODE_ENTER工作?为什么KEYCODE_SEARCH不起作用?我不太关心如何修复它以及更多关于 为什么 这种情况发生的事情(所以我可以自己解决)。

我尝试使用命令行/ appium通过adb与应用程序进行交互:

  • adb shell input keyevent KEYCODE_ENTER
  • adb shell input keyevent KEYCODE_SEARCH

实施例

以谷歌搜索栏小部件为例。输入键究竟发生了什么变成放大镜?我是一名黑匣子测试员,所以我无法访问我正在使用的代码。

按照以下步骤查看我正在谈论的内容:

  1. 点按Google搜索栏以关注该字段并调出软键盘。
  2. 请注意,Google搜索栏会更改键盘以将输入键显示为放大镜。
  3. 输入文字&#34; birds&#34; (暂不打开)。
  4. 在命令行中,运行adb shell input keyevent KEYCODE_SEARCH
  5. 观察没有任何反应。这不是我们想要的行为。
  6. 在命令行中,运行adb shell input keyevent KEYCODE_ENTER
  7. 观察我们看到了我们想要的行为,搜索进展。
  8. 因此,如果我们有一个带有放大镜输入键的文本字段,当用户发送KEYCODE_ENTER 进度,这是否意味着该文本字段上的KEYCODE_ENTER没有KeyEventListener,就像Google搜索栏必须包含的那样?

    如何解决?

    我提出的修复程序(但尚未经过测试,因为我无权访问代码)是焦点文本字段需要KeyEventListener KEYCODE_ENTERKeyEventListener KEYCODE_ENTER可能不起作用的原因是KEYCODE_SEARCH吗?或者是否应该收听ddd python

    这个问题有助于确认我的修正理论:detect keyboard search button

    请参阅以下图片,了解我正在谈论的按键。 Tablet Enter Key Tablet Search Key Phone Enter Key Phone Search Key

0 个答案:

没有答案