Почему это кнопка, по моему мнению, не может быть видно на UIAutomation?

StackOverflow https://stackoverflow.com/questions/4677661

  •  10-10-2019
  •  | 
  •  

Вопрос

Я могу увидеть представление, но я не могу увидеть/нажать на кнопку внутри него. Кнопка имеет метку доступности UIA_LOGINVIEW_LOGINBUTTON с включенным акцентированием. Почему он не показывает на LogElementTree ()?

var target = UIATarget.localTarget();
var application = target.frontMostApp();
var window = application.mainWindow(); 
var view = window.elements().firstWithName("UIA_loginview_view"); 


UIATarget.localTarget().logElementTree();
UIATarget.localTarget().frontMostApp().logElementTree();


if(view == null || view.toString() == "[object UIAElementNil]") 
{
UIALogger.logFail("View not found - "+view.toString());
} 
else
{
    UIALogger.logPass("View found - "+view.toString());
    UIALogger.logMessage("View Elements length - "+view.buttons().length);
    view.buttons()["UIA_loginview_loginbutton"].tap();
}

Дерево элемента журнала: // показывает мое представление, но не кнопка внутри него

4) uiaelement [имя: uia_loginview_view value: (null) nsrect: {{0, 20}, {320, 460}}

Это было полезно?

Решение

Убедитесь, что свойство доступа кнопки не скрыто видами контейнеров. Только те элементы, которые должны быть доступны пользователю, должны быть помечены как таковые. Если вы установите представление контейнера, включенное «доступом» в интерфейсном строителе, все подэлементы в иерархии не будут видны UIAutomation.

Это помогло?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top