Visual studio 2013 在代码生成期间使用PropertyProvider中的哪些方法?

Visual studio 2013 在代码生成期间使用PropertyProvider中的哪些方法?,visual-studio-2013,coded-ui-tests,Visual Studio 2013,Coded Ui Tests,我已经按照以下步骤为自定义控件实现了UITestPropertyProvider: 当我使用编码的UI测试生成器时,我可以在自定义控件上看到自定义属性,并且可以记录与控件交互的步骤,代码生成和回放工作正常。但是,当我尝试在任何属性上添加断言时(不仅仅是通过PropertyProvider添加的自定义属性),当我尝试为其生成代码时,会出现一个错误,即“无法将同一成员两次添加到SerializationInfo对象。” 当我删除我的自定义属性提供程序时,我仍然可以录制和回放单击和内容,并且可以对任何

我已经按照以下步骤为自定义控件实现了UITestPropertyProvider:

当我使用编码的UI测试生成器时,我可以在自定义控件上看到自定义属性,并且可以记录与控件交互的步骤,代码生成和回放工作正常。但是,当我尝试在任何属性上添加断言时(不仅仅是通过PropertyProvider添加的自定义属性),当我尝试为其生成代码时,会出现一个错误,即“无法将同一成员两次添加到SerializationInfo对象。”

当我删除我的自定义属性提供程序时,我仍然可以录制和回放单击和内容,并且可以对任何属性进行断言,但我无法访问我的自定义属性


我的物业供应商肯定有问题,但我不知道是什么。在代码生成过程中使用了PropertyProvider的哪些方法?

祝贺您阅读了这篇文章。在我看来,将自定义控件暴露于编码的UI是一件非常痛苦的事情。您是否尝试过重命名您的成员?在深处的某个地方,可能有一个成员与您实现的自定义成员同名。有点猜测。我知道是什么引起的。在那篇文章中,它说将控件名和所需的自定义属性放在分号分隔的字符串中。我做到了。但我有多个控件类型,它们在uiTestControl.ControlType属性中仅显示为“文本”。因此,我试图访问描述以获取实际的控件名称,但由于将uiTestControl.NativeElement强制转换为对象数组的行而失败。