如何选择在Robotium上单击哪个按钮以获得警报对话框?

Kav*_*asu 10 android robotium android-alertdialog

我是Robotium的新手.我使用对话框构建器创建了一个警告对话框,并使用show命令调用它.我默认使用Robotium触发'ok'按钮,我无法对'cancel'按钮执行相同操作.由于对话框与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();
 }
 });
Run Code Online (Sandbox Code Playgroud)

我用来触发Test Class中'ok'按钮的代码是

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

如何为"取消"按钮执行相同的操作?提前致谢.

Avi*_*rry 22

实际上,我建议你选择solo.clickOnView(solo.getView(buttonId))"正面"按钮android.R.id.button1,"否定"按钮android.R.id.button2和"中性" 按钮android.R.id.button3.

  • 事实证明,这比接受的答案更可靠.谢谢. (3认同)
  • 怎么样我们有自定义对话框? (2认同)

Ren*_*nas 9

只需使用solo.clickOnButton("取消");