Получение видимости индикатора выполнения в приложении WPF с помощью FlaUI Automation - PullRequest
1 голос
/ 06 марта 2020

Я автоматизирую приложение WPF , используя FlaUI . У меня есть индикатор прогресса , то есть Inderminate . Когда индикатор выполнения получает Свернутый , загружается UI . Я хочу реализовать механизм Retry на ProgressBar Visibility, но я не могу найти правильный property через FlaUI

private ProgressBar LoadingStatus => _uiAutomation.FindElement("ShowProgress", Automation.FindBy.Id).AsProgressBar();

<ProgressBar AutomationProperties.AutomationId="ShowProgress"
                Grid.Row="1"
                Height="4"
                Margin="0"
                BorderThickness="0"
                IsIndeterminate="True"
                IsTabStop="False"
                ToolTip="Contacting Server, Please Wait..."
                Visibility="{Binding IsServerActive, Converter={StaticResource MwBoolToVisibilityConverterReverse}}" />

Я хочу реализовать Retry.While((LoadingStaus_Is_Collapsed)=> )};, но кажется как будто у меня нет доступа к свойству visibility. Как я могу это сделать?

1 Ответ

1 голос
/ 03 апреля 2020

Здесь работает IsOffScreen. Платформа UIA предоставляет это свойство, поскольку видимость является свойством WPF, а не UIA. IsOffScreen возвращает True, если элемент в данный момент отсутствует на экране, в противном случае возвращается False. Вот как я это использовал

public bool LoadingStatusVisibiltity()
        {
            _logger.Info("Retrieving data from the server.Please wait!");
            if (LoadingStatus.IsOffscreen)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...