Эспрессо - нажмите на Google Map - PullRequest
       10

Эспрессо - нажмите на Google Map

0 голосов
/ 02 сентября 2018

Одной из функций моего приложения для Android является нажатие на карту Google для рисования фигуры (приложение реагирует на нажатия, опуская маркеры, а затем рисует полилинии между маркерами). Я нашел решение сделать это с эспрессо, но оно не работает, и я не вижу, что я делаю неправильно. Вот источник:

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

Однако маркеры не отображаются. Ошибок нет, и тест продолжается после этой точки (и завершается неудачей позже, потому что ожидаемая форма не была нарисована). Есть идеи? Кто-нибудь успешно делал это раньше?

...