2012-07-03 6 views
0

여기에는 고유 한 상황이 있습니다. Robotium을 사용하여 응용 프로그램을 테스트 중이며 "블랙 박스"조건에서이 작업을 수행하고 있습니다. 내 테스트에서는 '전체'라는 제목의 탭이 있으며 화면 상단에 있습니다. 클릭 할 때 모든 사용 가능한 항목이 나열되는지 테스트하고 싶습니다. 하지만 '전체'탭을 클릭하는 대신 '고급 통화 관리자'라는 앱이 클릭되고 있습니다. Robotium이 작동하는 방식 때문에 'all'이 'call'의 일부이고 'call'의 일부 임에도 불구하고 'all'을 클릭하기 때문입니다. 내 코드를 살펴본 후 내 문제가 무엇인지 이해할 수 있습니다."재설정 중"Robotium searchText

그래서 제 질문은 : 그것은 텍스트에 대한 검색을하면, 그것은 페이지 상단에서 시작하도록 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입니다. 그래서 나는 '모두'에 매치되지만 '콜'에 매치하지 않는 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);