Используйте UIAumator с формой согласия Cookie Admob - PullRequest
0 голосов
/ 23 апреля 2019

При выполнении тестов форма согласия на использование файлов cookie ЕС продолжает появляться, предоставляя следующие опции:

  • Да, продолжайте видеть соответствующие объявления

  • Нет, см. Менее релевантные объявления

  • Платите за версию без рекламы

Как получить доступ к этим кнопкам с помощью UIAutomator, чтобы продолжить?

1 Ответ

0 голосов
/ 23 апреля 2019

Можно получить эти кнопки как UiCollection:

@Test
public void CookieConsent() {

    UiSelector selector = getSelector("buttons");
    UiCollection elements = new UiCollection(selector);
    UiObject buttonYes, buttonNo, buttonAdFree;

    try {
        if (elements.getChildCount() == 3) {

            // Yes, continue to see relevant ads
            buttonYes = elements.getChild(getSelector("btn0"));
            assertNotNull(buttonYes);

            // No, see ads that are less relevant
            buttonNo = elements.getChild(getSelector("btn1"));
            assertNotNull(buttonNo);

            // Pay for the ad-free version
            buttonAdFree = elements.getChild(getSelector("btn2"));
            assertNotNull(buttonAdFree);

            /* click "yes" */
            assertTrue(buttonYes.isClickable());
            buttonYes.click();
        }

    } catch (UiObjectNotFoundException e) {
        e.printStackTrace();
    }
}

private UiSelector getSelector(String resourceId) {
    return new UiSelector()
      .className(android.view.View.class.getName())
      .resourceId(resourceId);
}
...