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

时间:2012-04-27 23:37:51

标签: 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();
 }
 });

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

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

如何为“取消”按钮执行相同操作?提前谢谢。

2 个答案:

答案 0 :(得分:22)

实际上,我建议您执行solo.clickOnView(solo.getView(buttonId)),其中“肯定”按钮为android.R.id.button1,“否定”按钮为android.R.id.button2,“中立”为android.R.id.button3。< / p>

答案 1 :(得分:9)

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