Winforms CodedUI:PropertyNames.ControlName不起作用

Winforms CodedUI:PropertyNames.ControlName不起作用,winforms,coded-ui-tests,Winforms,Coded Ui Tests,我正在以一种通用的方式搜索customcontrol,因此我可以重用该函数来查找与此customcontrol匹配的其他customcontrol 它有一个名称和一个控制名称。name属性并非总是正确填写,ControlName将是 当我查找下面代码中的customcontrol时,他将找到并执行请求的操作 WinGroup group=新建WinGroup this.window; group.SearchProperties.AddWinGroup.PropertyNames.Name, s

我正在以一种通用的方式搜索customcontrol,因此我可以重用该函数来查找与此customcontrol匹配的其他customcontrol

它有一个名称和一个控制名称。name属性并非总是正确填写,ControlName将是

当我查找下面代码中的customcontrol时,他将找到并执行请求的操作

WinGroup group=新建WinGroup this.window; group.SearchProperties.AddWinGroup.PropertyNames.Name, strGroupName,PropertyExpressionOperator.Contains; group.SearchConfigurations.AddSearchConfiguration.NextSibling

当我将PropertyNames更改为ControlName时,他将找不到该控件!这让我非常惊讶,因为它也是独一无二的

这可能是什么原因?我是错过了什么还是做错了什么


为了安全起见,可以使用PropertyNames.ControlName查找对象吗?

ControlId无论如何都不是可搜索的属性。CodedUI是不完美的。

这个问题很久以前就已经发布了,但我想答案可能仍然与某人有关

我建议尝试以下代码:


group.SearchProperties.AddControlName,NameOfYourControlNameProperty

为什么不尝试使用控件Id??我猜它也应该是独一无二的!此特定情况下的控件Id为0。这不是独一无二的,太奇怪了!!ID在作用域内应该是唯一的!!!当您使用Name和Controlname时返回的控件可能不同。但是,由于使用了下一个同级搜索配置,u在早些时候拥有正确的控制权。使用ControlName时返回的控件可能没有同级。。只是猜测!