Нажмите «Разрешить» в родном всплывающем окне iOS - PullRequest
0 голосов
/ 27 июня 2019

Я, возможно, что-то здесь упускаю, но я пытаюсь нажать «Разрешить» для собственного всплывающего окна в iOS11 +.Если у кого-нибудь есть идеи, как определить, какой xpath предназначен для этого нативного всплывающего окна или какие-либо другие идеи, это избавит меня от головной боли!

Я попытался переключить правильный контекст, я думаю, NATIVE_APP, а затем использовать локатор xpath, щелкнуть опцию, но безуспешно.

Я думаю, что я на правильном пути, но xpathпросто неправильно.

xpaths, которые я пробовал:

@label="Allow"
//*[. = 'Allow']
//*[contains(text(), 'Allow')]

```browser.contexts(async function (context) {
    browser.setContext(context['value'][0]); //switch to native

browser
.useXpath()
.click('@label="Allow"');
}
);```

Сообщение об ошибке,

Произошла ошибка при выполнении команды .click () для <@ label =«Разрешить»>: элемент не может быть расположен на странице с использованием заданных параметров поиска.

Обновление Приведенное ниже описание работает для iOS11 и iOS12, но крайне медленно для iOS11

browser.contexts(async function (context) {
  console.log("this is all the contexts: " + context.value);
  browser.setContext(context['value'][0]); //switch to native

  browser
     .useXpath()
     .click('//*[@name="Allow"]’);
}
);

iOS10 browser.execute ('mobile: alert', {action Notification: 'accept', buttonLabel: 'Allow'});

1 Ответ

0 голосов
/ 28 июня 2019

Я пытаюсь нажать «Разрешить» для собственного всплывающего окна в iOS11

Вы описываете диалог разрешений, например диалог разрешений для местоположения, контакта или фотографий ?

Если это так, вы не можете взаимодействовать с ними из своего приложения. Пользователь должен явно нажать кнопку «Разрешить», чтобы предоставить разрешения.

...