Detox. Нажмите на IOS всплывающее окно системы не работает - PullRequest
0 голосов
/ 07 ноября 2019

Это всплывающее окно с подтверждением, которое я получил после входа в приложение через google sso.

Собственный всплывающий скриншот

И у меня естьпроблема с нажатием на кнопку «Продолжить» во всплывающем окне. Я уже видел несколько дискуссий по этому вопросу, но мне ничего не помогло. Это то, что я пробовал - Детокс: Симулятор iOS, как подтвердить предупреждение , но это не сработало. Кроме того, я открыл приложение в appium app, чтобы увидеть там точное имя элемента, попытался использовать его в тесте, но безуспешно.

Скриншот Appium

Это способ, которым я взаимодействую с элементом

it('should have welcome screen', async () => {
    await expect(element(by.id('hostname-input'))).toBeVisible();
    await element(by.id('hostname-input')).typeText('companyName');
    await element(by.id('hostname-submit-button')).tap();
    await element(by.id('googleAuthButton')).tap();
    //  XCUIElementTypeButton[@name="Continue"]
    await waitFor(element(by.type('XCUIElementTypeButton')))
      .toExist()
      .withTimeout(10000);
    await element(
      by.name('Continue').and(by.type('XCUIElementTypeButton')),
    ).tap();
  });

, и это ошибка:

Element matcher: ((!(kindOfClass('RCTScrollView')) && ((kindOfClass('(null)') && isNotNil) && !(kindOfClass('UIAccessibilityTextFieldElement')))) || (((kindOfClass('UIView') || respondsToSelector(accessibilityContainer)) && parentThatMatches(kindOfClass('RCTScrollView'))) && ((kindOfClass('UIView') || respondsToSelector(accessibilityContainer)) && parentThatMatches(((kindOfClass('(null)') && isNotNil) && !(kindOfClass('UIAccessibilityTextFieldElement')))))))

Любые идеи о том, как это можно решить? Заранее спасибо.

1 Ответ

0 голосов
/ 11 ноября 2019

Я написал вспомогательную функцию:


const alertsHelper = async (name) => {
    await element(by.label(name).and(by.type('_UIAlertControllerActionView'))).tap();
  };

export default alertsHelper;

Используется так:

await alertsHelper('Continue');

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...