2017-06-15 4 views
1

私はアンドロイドキーボードの予測部分が無効かどうかを検出するテストを書いています。通常、これらの種類のものを検出するには、take an XML screenshot in UI Automatorを探してリソースIDを使用しますが、キーボードはオーバーレイとして記録されるため、表示されません。Androidで予測キーボードが無効になっているかどうかをテストするにはどうすればよいですか?

私は、文字列を作成し、このようにそれらをインスタンス化し、リソースIDを使用しました:

UiObject incidentClick = uiDevice.findObject(new 
UiSelector().resourceId(UIResourceStrings.This_Is_The_Resource_String)); 

しかし、キーボードは独自のリソース文字列を持っていないので、動作しないこと。

私は(x、y)座標を使って調べることを考えましたが、どのように実装するのかは分かりません。このようなことをする方法に関するアイデアは?

答えて

0

完全な解決策ではなく、回避策です。私はテキストの値を最初に得て、次にclick(x,y) function click on the space where one of the suggestionsが現れた後、最初にテキストの値を得て、それらが同じかどうかをチェックしました。そうでない場合は、キーボードプレディクタが有効になり、テストが失敗します。

プレディクタは、元の単語とは異なる単語を使用する必要があります。あなたのテキストは==あなたがUiAutomator 2.0を使用する場合はuiDevice.findObject(new UiSelector().text("text"));

0

、あなたはあなたのケースでadbのシェルコマンドを実行し、キーパッドの状態を取得することができ、それは、

"adb dumpsys input_method |grep mInputShow" 
このような簡単だのであればUIオブジェクトが作成されます。

mInputShowの値がtrueの場合、キーパッドが開きます。

関連する問題