UI Automation: приложение для iPhone - как нажать кнопку «ОК» при появлении предупреждения - PullRequest
0 голосов
/ 14 марта 2011

1) UIATarget [имя: (ноль) значение: (ноль) NSRect: {{2.7520829e-39,2.0667855e-36}, {0, 1.4012985e-45}}]

2)UIAApplication [имя: tosh.0 значение: (ноль) NSRect: {{0, 20}, {320, 460}}]

3) UIAWindow [имя: (ноль) значение: (ноль) NSRect:{{0, 0}, {320, 480}}]

4) ....

5) ....

3) UIAWindow [имя:(ноль) значение: (ноль) NSRect: {{0, 0}, {320, 480}}]

4) UIAAlert [имя: (ноль) значение: (ноль) NSRect: {{18,180}, {284, 141}}]

5) UIAStaticText [имя: невозможно соединить значение: (ноль) NSRect: {{30, 225}, {260, 21}}]

5) UIAButton [name: OK value: (null) NSRect: {{29, 262}, {262, 43}}]

Как я могу нажать "OK" во втором окне UIA, пожалуйста.дать синтаксис.

Ответы [ 3 ]

6 голосов
/ 15 марта 2011

Если появляется аллергия, обратный вызов в вашем скрипте автоматизации становится активным. Если вы просто хотите отклонить его с поведением по умолчанию, вы должны реализовать его следующим образом:

UIATarget.onAlert = function onAlert(alert) 
{   
    return false; 
}

Аллерт будет отклонен, если вернется false. Если вы хотите нажать кнопку ОК, откройте это следующим образом:

alert.buttons()["OK"].tap();
return true; // to bypass the default handler 
0 голосов
/ 15 марта 2011

Эй.
Но вы используете инструменты и UIAutomation?из вашего вопроса непонятно, для какой технологии вам нужен код / ​​синтаксис.

Для инструментов + UIAutomation + JavaScript это может быть так:

   UIATarget.localTarget().frontMostApp().alert().elements()[1].tap();

или

   UIATarget.localTarget().frontMostApp().alert().defaultButton().tap();
0 голосов
/ 14 марта 2011

Если вы хотите показать информацию, просто используйте UIAlertView / UIView без каких-либо кнопок и скройте ее через несколько секунд.

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