10

私はRobotiumが初めてです。ダイアログ ビルダーを使用して警告ダイアログ ボックスを作成し、show コマンドを使用して呼び出しました。Robotium を使用してデフォルトで「OK」ボタンをトリガーすることができましたが、「キャンセル」ボタンに対して同じことを行うことはできません。ダイアログ ボックスは ID に関連付けられていないため、ボタンの ID を取得する方法がわかりません。ダイアログボックスのコードは次のとおりです

alertDialogBuilder
.setMessage("Please enter only numbers without any spaces")
.setCancelable(true)
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
 public void onClick(DialogInterface dialog, int id) {
 dialog.cancel();
 }
 })
 .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
 public void onClick(DialogInterface dialog, int id) {
 dialog.cancel();
 }
 });

テストクラスで「OK」ボタンをトリガーするために使用したコードは次のとおりです。

 solo.getCurrentActivity().runOnUiThread(new Runnable() {
 public void run() {
 solo.getCurrentActivity().getCurrentFocus().requestFocus();
 }
 });
 this.sendKeys(KeyEvent.KEYCODE_DPAD_CENTER);

「キャンセル」ボタンで同じことを行うにはどうすればよいですか? 前もって感謝します。

4

2 に答える 2

22

実際にはsolo.clickOnView(solo.getView(buttonId))、「ポジティブ」ボタンがandroid.R.id.button1、「ネガティブ」ボタンがandroid.R.id.button2、「ニュートラル」がである場所で行うことをお勧めしますandroid.R.id.button3

于 2012-06-01T22:32:07.703 に答える
9

solo.clickOnButton("Cancel"); を使用するだけです。

于 2012-05-14T15:49:27.660 に答える