有没有办法如何使用White框架测试在WPF中访问自定义控件上的自定义属性?
假设我有这样的课程:
public class MyButton : System.Windows.Controls.Button
{
public MyButton()
{
}
public string MyCustomButtonProp { get { return "MyButtonInfo"; } }
}
有没有办法在测试中通过White框架访问MyCustomButtonProp?我阅读了如何处理自定义控件(https://teststackwhite.readthedocs.io/en/latest/AdvancedTopics/CustomUIItems/),但这并没有让我得出结论如何访问自定义属性,只讨论如何使用嵌套控件处理自定义控件。如果我使用标准的白色框架对象(在这种情况下为Button),我可以与按钮进行交互,但这在我的情况下是不够的。
答案 0 :(得分:0)
您需要编写自己的AutomationPeer
来公开该属性。然后,您需要扩展White控件以显示您的自定义属性。
覆盖AutomationPeer
并不坏,因为您可以从另一个AutomationPeer
继承来获得所需功能的90%。
这里是一个如何编写AutomationPeer的示例。这是我要探讨的另一个document,它为实现UIA的“服务器”端提供了更为广泛的概述。