浓咖啡-点按Google地图

时间:2018-09-02 01:06:34

标签: android google-maps android-espresso

我的Android应用程序的一个功能涉及点击Google Map绘制形状(该应用程序通过放下标记来响应点击,然后在标记之间绘制折线)。我找到了一种解决方案,可以使用Espresso进行此操作,但是它无法正常工作,我看不到自己在做什么。来源:

https://stackoverflow.com/a/37596191/3307720

这是我制作ViewAction的方法:

public static ViewAction clickPositionByPercent(final float pctX, final float pctY) {
return new GeneralClickAction(
        Tap.SINGLE,
        view -> {

            final int[] screenPos = new int[2];
            view.getLocationOnScreen(screenPos);
            int w = view.getWidth();
            int h = view.getHeight();

            float x = w * pctX;
            float y = h * pctY;

            final float screenX = screenPos[0] + x;
            final float screenY = screenPos[1] + y;
            float[] coordinates = {screenX, screenY};

            return coordinates;
        },
        Press.FINGER, 0, 0);
}

这是我的使用方式:

    ViewInteraction viewInteraction = onView(withId(viewId)).check(matches(isDisplayed()));
    viewInteraction.perform(clickPositionByPercent(0.25f, 0.25f));
    // repeated a few times

但是没有标记出现。没有错误,测试将在此点之后继续进行(并随后失败,因为未绘制预期的形状)。有任何想法吗?以前有人成功做到过吗?

0 个答案:

没有答案