C# 编码用户界面,文本控件的搜索属性

C# 编码用户界面,文本控件的搜索属性,c#,automated-tests,coded-ui-tests,microsoft-ui-automation,C#,Automated Tests,Coded Ui Tests,Microsoft Ui Automation,我的文字控制录制有问题。我的测试应用程序:桌面、WinForms、.NET4.6 当我使用“编码UI测试生成器”时,对于新的文本控件,它会自动创建以下搜索属性: 控件类型:文本 技术名称:MSAA 姓名:约翰 “名称”属性值与“显示文本”属性值相同。如果文本被更改(例如John->Jane),将找不到此控件。我需要独立的搜索属性。我想用“ControlName”代替“Name”属性 我的搜索属性: 控件类型:文本 技术名称:MSAA 控件名:lFirstName 当然,我可以在UIMAP.uit

我的文字控制录制有问题。我的测试应用程序:桌面、WinForms、.NET4.6

当我使用“编码UI测试生成器”时,对于新的文本控件,它会自动创建以下搜索属性:
控件类型:文本
技术名称:MSAA
姓名:约翰

“名称”属性值与“显示文本”属性值相同。如果文本被更改(例如John->Jane),将找不到此控件。我需要独立的搜索属性。我想用“ControlName”代替“Name”属性

我的搜索属性:
控件类型:文本
技术名称:MSAA
控件名:lFirstName

当然,我可以在UIMAP.uitest中记录完成后手动更改搜索属性

此解决方案的缺点:
1.慢编码 2.需要高级测试仪吗 3.如果以后再次使用“编码的UI测试生成器”,则它无法识别UIMAP中的此类修改控件,并为这些控件创建“克隆”

a) 是否可以为录制配置编码的UI测试规则,以强制其使用ControlName而不是Name?

b) 还有其他想法吗?

据我所知,如果控件的“Name”属性有值,那么编码的UI将记录“Name”作为搜索属性,因此除了手动更改基于Windows的应用程序的UIMAP.uitest文件外,可能无法使用“ControlName”。对于web应用程序,您可以通过更改IEPropertyConfiguration.xml文件来配置搜索属性,该文件位于64位计算机的“C:\Program Files(x86)\Common Files\microsoft shared\VSTT\14.0”和32位计算机的“C:\Program Files\Common Files\microsoft shared\VSTT\14.0”中。

属性应该已经是控件的标识符,并且不应该依赖/更改用户输入。您如何为控件设置名称“John”以及如何将其更改为“Jane”?这不是ControlType Edit。编辑具有固定名称。但这是ControlType文本。John、Jane等都是数据库中的值。