2012-07-03 82 views
0

我在這裏有一個獨特的情況。我正在使用Robotium測試一個應用程序,我正在「黑匣子」條件下執行此操作。在我的測試中,我有一個標題爲「全部」的標籤,它位於屏幕的頂部,我想測試一下,當它被點擊時,所有可用的項目都會列出。然而,發生的事情並不是點擊「全部」選項卡,而是點擊名爲「高級呼叫管理器」的應用程序。我認爲這是因爲'all'是'call'的一部分,由於Robotium的工作方式,即使它是'call'的一部分,它也會點擊'all'。看完我的代碼後,您可能會明白我的問題。「重置」Robotium搜索文本

所以我的問題是:

有沒有一種方法來「復位」 Robotium這樣,當它做它的文本搜索,它開始在頁面頂部?這裏是我的代碼:

solo.waitForText("all"); 
     bw.write("Verify presence of 'all' filter on " + BUSINESS + "-COMMUNICATION page\",\""); 
     if(solo.searchText("all")==false){ 
      bw.write("FAILED \",\" \'all\' filter not found \"\n\"");    
     }else if(solo.searchText("all")==true){ 
      bw.write("PASSED \",\" \'all\' filter present\"\n\""); 
      bw.write("Verify functionality of 'all' filter\",\""); 
      solo.clickOnText("all"); 
      solo.sleep(5000); 
      solo.takeScreenshot(); 
      bw.write("Screenshot taken\",\"" +"See photo: "+ photoFormat.format(new Date()).toString()+"\"\n\""); 


     } 

任何幫助,將不勝感激!

回答

0

傳遞給solo.clickOnText()的字符串實際上是RegEx。所以我認爲你可以通過傳遞一個匹配'all'但不'call'的RegEx來解決你的問題。

0
ViewGroup class will be helpful in this case as you are using tabs in your code.Now find the view using getChildAt() method. 

ViewGroup tabs = (ViewGroup) solo.getView(android.R.id.tabs); 
View viewYouWantToDoStuffWith = tabs.getChildAt(x); //change x to the index you want. 

Now you can perform the click event on tab like below. 
solo.clickOnView(viewYouWantToDoStuffWith);