我是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);
如何为“取消”按钮执行相同操作?提前谢谢。
答案 0 :(得分:22)
实际上,我建议您执行solo.clickOnView(solo.getView(buttonId))
,其中“肯定”按钮为android.R.id.button1
,“否定”按钮为android.R.id.button2
,“中立”为android.R.id.button3
。< / p>
答案 1 :(得分:9)
只需使用solo.clickOnButton(“取消”);