2017-04-12 35 views
-1

image如何appium使用Java

点击元素中的GridView我有线性布局的列表。 我想点击一个应用程序,我可以在页面上滚动,但无法点击应用程序。

我没有得到任何方式从GridView控件内单击项目。

任何机构可以帮助我解决我的问题呢?

+0

首先让我们看看你的努力。 – Chirag

回答

0

例如电网,如果我有我的网格20个项目,但我的屏幕能够显示只有10根据我的屏幕尺寸,然后在UI的Automator项目也只得到那些可以在屏幕上。当我再滚动剩余的元素将在UI的Automator

可见,你甚至可以在网格视图中单击应用程序。滚动后,必须重新加载驱动程序的内容,因为当你再滚动新项目将显示那些不会提供在以前的驱动程序内容

WebDriver wd = driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); 
boolean flag = false; 
WebElement firstItem = null; 
do { 
    List<WebElement> allApps = wd.findElements(By.xpath("//android.widget.ListView")); 

    if (firstItem.getText().equals(allApps.get(0).getText())) { 
     System.out.println("Reached to end of list"); 
     break; 
    } 

    for (WebElement webElement : allApps) { 
     if (webElement.getText().contains("Your App Name")) { 
      webElement.click(); 
      flag = true; 
      break; 
     } 
    } 
    firstItem = allApps.get(0); 

    if (!flag) { 
     horizontalScroll(); 
    } 
} while (!flag); 

试试这个,让我知道,如果你面对任何问题

+0

谢谢。但我仍然可以点击元素。错误将会失败定位元素。 – shilpa

+0

尝试调试并查看到底发生了什么。你是否正在调试所有App?如果您正在获取所有应用程序,然后检查是否将文本与确切的应用程序进行比较for for循环中的名称 – Karthikeya

+0

添加System.out.println(webElement.getText());并查看它是否打印所有应用程序名称 – Karthikeya

0

请找到与它相匹配的图像来寻找分层。 (0)的FrameLayout(0)的LinearLayout(0)的FrameLayout(0)的LinearLayout的ViewGroup(1)android.support.v4.widget.DrawerLayout的FrameLayout RelativeLayout的GridView的(0)的FrameLayout(1)的LinearLayout(0)的LinearLayout

Hierarchi of gridview

hierarchi of webelement