如何在鸦片中找不到网格视图中的元素

时间:2017-04-14 09:56:28

标签: java uiautomator

我无法点击网格视图中的元素。所有元素都是线性布局的网格视图。我找到了屏幕的大小,我可以在屏幕上向上滚动。但我无法点击特定元素。这是uiautomator的图像。我正在使用此代码滚动图像。

void swipe_vertical() throws InterruptedException{
    Dimension size = driver.manage().window().getSize();
    int height = size.height;
    int width = size.width;
    System.out.println("height=" +size.height+"width="+size.width);
    int startx = size.width/2;
    int endx = size.width/2;
    int starty = size.height - size.height/4;
    //int starty = size.height - size.height/6;
    //int starty = size.height - size.height/8;
    int endy = size.height/4;
    System.out.println("vertical swipe");
    Thread.sleep(10000);

    driver.swipe(startx,starty,endx,endy,200);
    Thread.sleep(2000);

    driver.swipe(endx,endy,startx,starty,200);
}

enter image description here

1 个答案:

答案 0 :(得分:0)

我使用Launcher作为示例,它在FrameLayout中使用了RecyclerView,但您可以在应用程序中使用它,也应该可以使用它。

/**
 * @@Test comment here@@
 *
 * @throws Exception
 */
@Test
public void culebraGeneratedTest() throws Exception {
    (new UiScrollable(new UiSelector().resourceId("com.android.launcher3:id/apps_list_view").packageName("com.android.launcher3"))).getChildByDescription(new UiSelector().description("TemperatureConverter"), "TemperatureConverter", true).click();
}

此测试尝试找到内容为apps_list_view的{​​{1}}子项,必要时滚动,然后点击它。

如果您有兴趣,可以使用CulebraTester自动生成此测试。