10

我是 Robotium 的新手。我使用对话框生成器创建了一个警报对话框,并使用 show 命令调用它。默认情况下,我能够使用 Robotium 触发“确定”按钮,但我无法对“取消”按钮执行相同操作。由于对话框没有与 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();
 }
 });

我用来触发测试类中的“确定”按钮的代码是

 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 回答