使用 FlaUI Automation 获取 WPF 应用程序中进度条的可见性
Getting the visibility of a progress bar in a WPF application using FlaUI Automation
我正在使用 FlaUI 自动化 WPF 应用程序。我有一个 progressbar,它是 Inderminate。一旦进度条 Collapsed,就会加载 UI。我想在 ProgressBar Visibility
上实现 Retry
机制,但我无法通过 FlaUI
找到正确的 property
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
属性。
我怎样才能完成它?
这里起作用的 属性 是 IsOffScreen
。 UIA 框架提供此 属性,因为可见性是 WPF
属性 而不是 UIA
。
IsOffScreen
returns 如果元素当前不在屏幕上则为真否则 returns False
。
这就是我使用它的方式
public bool LoadingStatusVisibiltity()
{
_logger.Info("Retrieving data from the server.Please wait!");
if (LoadingStatus.IsOffscreen)
{
return true;
}
else
{
return false;
}
}
我正在使用 FlaUI 自动化 WPF 应用程序。我有一个 progressbar,它是 Inderminate。一旦进度条 Collapsed,就会加载 UI。我想在 ProgressBar Visibility
上实现 Retry
机制,但我无法通过 FlaUI
property
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
属性。
我怎样才能完成它?
这里起作用的 属性 是 IsOffScreen
。 UIA 框架提供此 属性,因为可见性是 WPF
属性 而不是 UIA
。
IsOffScreen
returns 如果元素当前不在屏幕上则为真否则 returns False
。
这就是我使用它的方式
public bool LoadingStatusVisibiltity()
{
_logger.Info("Retrieving data from the server.Please wait!");
if (LoadingStatus.IsOffscreen)
{
return true;
}
else
{
return false;
}
}