WPF控件的可见性参数在UI Automation中不可见吗?

时间:2018-10-09 15:57:21

标签: ui-automation coded-ui-tests teststack

我开始使用FlaUI(UI自动化框架)为WPF应用程序编写测试。现在,我想获取几个按钮的“可见性”值。

这些按钮位于WPF窗口中的相同位置。第一个是开始按钮,它将开始测量。单击后,将测量按钮替换为停止按钮。这些按钮的可见性是在xaml后面的代码中设置的,需要检查/验证。

使用FlaUI只能得到IsEnabled布尔值和OffScreen布尔值。但是,当使用“离屏”参数时,此布尔值未设置或在几秒钟内设置为正确的值,但是在测量仍在运行时再次更改。

我还尝试了其他方法,例如寻找不可见按钮的可点击点。但是那些没有用。

是否可以在不使用AutomationPeer扩展按钮类并公开ValuePattern的情况下完成此操作?我在Google上搜索了一下,但找不到一个合适的答案。希望有人可以提供帮助。

1 个答案:

答案 0 :(得分:0)

我认为您的问题的重要部分是“已替换”一词。通常,程序绘制一组控件(在您的情况下为“开始”按钮),然后绘制另一组控件。可能在顶部隐藏第一个,或者可以通过删除它们来隐藏。

常见的控件(包括按钮)被绘制在其他包含的控件中,因此按钮控件可能根本不存在,因此应在父控件或祖先控件上进行可见性检查。

This Q&A似乎与您遇到的问题有关,它可能会提供更多的见解。