testing - 白色 UI 自动化框架 : back colour

标签 testing user-interface automation white-framework

我在我的项目中使用白色 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/

相关文章:

windows - AutoHotKey:具有多行输入的 InputBox

java - 抓取问题(data-reactid)

hibernate - GORM 映射声明::长或不长

ios - 自定义 UICollectionViewCell

java - 用Java模拟芝诺悖论的程序

c# - 如何在 android/iOS 移动测试中截取屏幕截图 - C#?

testing - Perfecto Mobile - 由于设备繁忙导致脚本失败

java - 完成java测试代码后有什么方法可以回滚redis数据吗?

python - Golang 测试中的 fixture

email - 每天在生产服务器上测试 Rails 应用程序,并自动回复电子邮件