2017-02-01 8 views
0

uiautomatorviewer 및 appium와 요소를 찾을 수 없습니다, 모든 요소는 잘하지만 단지, 발견 마지막으로 인덱스가 2 인 uiautomatorviewer에서 볼 수 있습니다 (그림 enter image description here 참조) 인덱스 0과 1을 가진 모든 elemnt가 발견되었습니다! 마지막 하나. 나는 appium 로그인 바로 여기에 2내가</p> <p>여기에 내 코드를 appium 버전 1.6.3, 프레임 워크 TestNG를을 uiautomatorviewer를 사용하여 실행하는 Android 응용 프로그램에 대한 스크립트를 자동화하기 위해 노력

@Test(priority = 1) 
     public void SignIn() throws InterruptedException { 
      System.out.println("newlook-tutoriel"); 
      /* 
      * boolean ispresent = driver.findElement(By.id("skip")).isDisplayed(); 
      * if (ispresent == true) { driver.findElement(By.id("skip")).click(); 
      * System.out.println("Tutorials are present"+ispresent); } else 
      * System.err.println("Tutorials aren't present ! "+ispresent); 
      */ 
      System.out.println("newlook-welcome"); 
      driver.findElement(By.id("btn_signin_welcome")).click(); 
      System.out.println("newlook-Me connecter"); 
      driver.findElement(By.id("input_email")).sendKeys(
        "[email protected]"); 
      System.out.println(driver.findElement(By.id("input_password")) 
        .getClass()); 
      // Thread.sleep(5000); 
      driver.hideKeyboard(); 
      driver.findElement(By.id("input_password")).sendKeys("00000000"); 
      // Thread.sleep(5000); 
      driver.hideKeyboard(); 
      driver.findElement(By.id("btn_signin")).click(); 
      Thread.sleep(5000); 
      System.out.println("connected !!!!"); 
      System.out.println(driver.findElement(By.xpath(".//@class='android.widget.TextView'")).getText()); 
      System.out.println("Bienvenue"+driver.findElement(By.xpath("//*[@class='android.widget.TextView' and @index='0']")).getText()); 
      System.out.println("Emna"+driver.findElement(By.xpath("//*[@class='android.widget.TextView' and @index='1']")).getText()); 
      System.out.println("répondez....." + driver.findElement(By.xpath("//*[@class='android.widget.TextView' and @index='2']")).getText()); 
      driver.findElement(By.xpath("//*[@class='android.widget.Button']")).click(); 

     } 

으로 인덱스를 변경 같은 논리를 사용하고

[debug] [AndroidBootstrap] Sending command to android: {"cmd":"action","action":"find","params":{"strategy":"xpath","selector":"//*[@class='android.widget.TextView' and @index='2']","context":"","multiple":false}} 
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {"cmd":"action","action":"find","params":{"strategy":"xpath","selector":"//*[@class='android.widget.TextView' and @index='2']","context":"","multiple":false}} 
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION 
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: find 
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding '//*[@class='android.widget.TextView' and @index='2']' using 'XPATH' with the contextId: '' multiple: false 
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {"status":7,"value":"Could not find an element using supplied strategy. "} 
나는 여전히 RESON 몰라하지만 난이 방법으로이를 해결

답변

0

:

driver.findElements(By.className("android.widget.TextView")).get(2).getText(); 
+0

텍스트로 요소를 찾으려고 했습니까? – Vinod

+0

해당 목록에 다음과 같은 명령이 없습니다. – Emna

+0

색인, ID, 클래스 이름 등을 통해 사용할 수없는 경우 텍스트로 요소를 찾을 수 있습니다. – Vinod