簡體   English   中英

Robotium:僅在alertDialog中單擊文本,而不是在下面的活動中

[英]Robotium: Click on text in the alertDialog only, not in the underneath activity

我有一個顯示一些文本的活動,例如“someText”。

在此活動中,我打開一個警告對話框,如下所示:

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在警報對話框下找到活動中的文本。 由於“someText”可以在我的活動中的任何地方,我不能使用索引。

如何才能將文本搜索范圍縮小到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環境,我無法驗證它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM