我在我的项目中使用白色 UI 自动化进行测试。我被困在需要获取控件背景颜色的位置。请提供任何示例代码?
最佳答案
不幸的是,这可能无法使用白色。但是 Windows 确实提供了一些您可以调用的方法,它们可能会帮助您。如果您正在使用 spy 工具并且您正在查看的控件具有可用的 TextPattern,则您可以获得控件的背景颜色。
具体来说,您可以尝试获得这样的模式(其中 myElement 是 AutomationElement 类型):
var textPattern = myElement.GetCurrentPattern(TextPattern.Pattern) as TextPattern;
如果您能够获得 TextPattern 类型的实例,您可以执行以下操作:
var bgColor = textPattern.DocumentRange.GetAttributeValue(TextPattern.BackgroundColorAttribute)
这将返回一个普通的旧对象,然后您需要将其拆箱。如果有多种背景颜色,它将等于 TextPattern.MixedAttributeValue
。否则,它将是一个 int
类型的数字,它对应于 RGB 颜色,因此转换应该可以让您获得所需的值:
var color = (int) bgColor;
当然,如果您感兴趣的控件的 ControlType 不是 Text,那么不幸的是您运气不好。
希望这对您有所帮助!
关于testing - 白色 UI 自动化框架 : back colour,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23199361/