Androidアプリ用のJUnitテストケースを作成しています。テストクラスは、ウィジェットのユーザー入力をエミュレートするために拡張ActivityInstrumentationTestCase2
および呼び出します。ただし、すべてのアルファベットキーコード(例)は、小文字のみをに送信します。アルファベットのキーコードを送信する前に送信しようとしましたが、うまくいかなかったようです。では、ユーザーが大文字を入力するのをシミュレートするにはどうすればよいですか?sendKeys()
TextEdit
KeyEvent.KEYCODE_G
TextEdit
KeyEvent.KEYCODE_SHIFT_LEFT
編集:
大文字を手動で入力できます。実際、EditTextは次のように定義されています。
<EditText android:id="@id/brand_text"
android:singleLine="true"
android:capitalize="words"
android:hint="@string/brand_hint"
/>
このandroid:capitalize="words"
属性により、エミュレーターでオンスクリーンキーボードが大文字モードになります。(デバイスでも同じように動作すると思いますが、テストするものがありません。)SDKに付属のエミュレーターはハードウェアキーボードをエミュレートしないため、UIがどのように機能するかをテストできませんでした。ハードキー。
私も試しました
EditText brandText = this.activity.findViewById(R.id.brand_text);
brandText.setText(someString);
しかし、私がこれを行ったとき、テストは失敗しました。私はそのすべてのコードを修正したので、現時点では詳細をここに示していません。私はそれを再作成し、それらの詳細でこの質問を編集しようとします。