Подтвердить что ты не робот

Как выбрать, какую кнопку нажать на Robotium для диалога с предупреждением?

Я новичок в Robotium. Я создал диалоговое окно предупреждения с помощью диалогового построителя и вызвал его с помощью команды show. Я смог запустить кнопку "ОК" по умолчанию с помощью Robotium, и я не могу сделать то же самое для кнопки "Отмена". Поскольку диалоговое окно не связано с идентификатором, я не уверен, как получить идентификатор кнопок. Вот мой код для диалогового окна

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);

Как сделать то же самое для кнопки "отменить"? Спасибо заранее.

4b9b3361

Ответ 1

Просто используйте solo.clickOnButton( "Отмена" );

Ответ 2

На самом деле, я предлагаю вам сделать solo.clickOnView(solo.getView(buttonId)), где кнопка "Положительно" android.R.id.button1, кнопка "Отрицательная" android.R.id.button2 и "Нейтральная" - android.R.id.button3.