Robotium:仅单击 alertDialog 中的文本,而不是下方 activity
Robotium: Click on text in the alertDialog only, not in the underneath activity
我有一个 activity 显示一些文本,例如 "someText"。
从这个activity,我打开一个警告对话框如下:
AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
builder.setTitle("Title");
String[] items = {"Hello", "World", "someText"};
builder.setItems(items, new MultiChoiceEventOnClickListener(...);
builder.setCancelable(true);
builder.show();
这是我的 Robotium 测试:
solo.clickOnButton(...); // to open the dialog alert
solo.waitForDialogToOpen();
solo.clickOnText("someText");
问题是 Robotium 在警告对话框下的 activity 中找到了文本。
由于 "someText" 可以在我的 activity 中的任何位置,我无法使用索引。
如何将文本的搜索范围缩小到 alertDialog
?
要么
如何在警报对话框的项目列表中找到视图项目?
像这样手动搜索文本应该是可以的:
ArrayList<View> views = solo.getCurrentViews();
for(View v : views) {
if (!v instanceof TextView) {
//filter out everything thats not a TextView
continue;
}
String text = ((TextView)v).getText().toString();
if (text.contains("sometext") {
//We found the view, click and then exit the loop.
solo.clickOnView(v);
break;
}
}
免责声明:由于我目前没有在我的机器上设置 Android 环境,所以我无法验证它
我有一个 activity 显示一些文本,例如 "someText"。
从这个activity,我打开一个警告对话框如下:
AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
builder.setTitle("Title");
String[] items = {"Hello", "World", "someText"};
builder.setItems(items, new MultiChoiceEventOnClickListener(...);
builder.setCancelable(true);
builder.show();
这是我的 Robotium 测试:
solo.clickOnButton(...); // to open the dialog alert
solo.waitForDialogToOpen();
solo.clickOnText("someText");
问题是 Robotium 在警告对话框下的 activity 中找到了文本。 由于 "someText" 可以在我的 activity 中的任何位置,我无法使用索引。
如何将文本的搜索范围缩小到 alertDialog
?
要么
如何在警报对话框的项目列表中找到视图项目?
像这样手动搜索文本应该是可以的:
ArrayList<View> views = solo.getCurrentViews();
for(View v : views) {
if (!v instanceof TextView) {
//filter out everything thats not a TextView
continue;
}
String text = ((TextView)v).getText().toString();
if (text.contains("sometext") {
//We found the view, click and then exit the loop.
solo.clickOnView(v);
break;
}
}
免责声明:由于我目前没有在我的机器上设置 Android 环境,所以我无法验证它