5

ListView의 각 목록 항목에서 텍스트의 유효성을 검사하고 각 항목의 유효성을 검사 할 수 있도록 하나씩 스크롤하려고합니다 ... 그러나 어떤 이유로 인해서 각 요소의 유효성을 검사하는 목록을 계속 스크롤합니다. 누구나 이런 종류의 행동을 자동화하는 행운을 얻었습니까? 여기에 내가 가장 가까이 올 수 있습니다. 이 충분한 정보가 아닌 경우 알려 주시기 바랍니다 :uiautomator - 각 목록 항목의 텍스트의 유효성을 검사 할 때 ListView를 스크롤 할 수 없습니다. 그냥 화면의 마지막 항목을 눌렀을 때 실패합니다.

 UiScrollable scrollableList = new UiScrollable(new UiSelector() 
     .resourceId("com.example.app:id/listView") 
       .className(android.widget.ListView.class.getName()) 
       .index(3)); 

for (i = 0; i < 100; i++) { 
    UiObject listItem = scrollableList.getChildByText(new UiSelector() 
     .className("android.widget.RelativeLayout") 
     .instance(i), "Text Title"); 

    UiObject textBody = listItem.getFromParent(new UiSelector() 
     .resourceId("com.example.app:id/textBody")); 

    System.out.println("Validating: " + textBody.getText()); 

이 때 화면에 표시 5 많은 ListItems은, 그래서 번호 6,에 도착하려고 할 때 실패하는 그것을 못할 이유는

a. 앞으로 스크롤하여 목록의 다음 항목을 가져 오지 않으려합니다.
b. 목록에서 다음 값을 얻기 위해 앞으로 스크롤 한 경우에도 인스턴스 값은 5로 줄지 않고 5로 감소합니다.

.instance() 메서드없이 시도했지만이 경우 항목 2,3,4로 진행하지 않고 목록의 첫 번째 항목을 계속 반복합니다.

누구든지이 문제를 접한다면, 나는 피드백을 원합니다.

답변

-1

파이썬에서 java.lie를 사용하지 않고 동일한 기능을 구현했다면 아래 논리를 작성하여 도움이되는지 확인하십시오.

while(i<100): 
    self.d.press('down') 
    print self.d(resourceID='android:id/text1').text 

이 루프는 최대 100 개의 요소를 스크롤 다운하고 각 요소를 드롭 다운으로 반환합니다.