Winforms 控制识别问题

Winforms 控制识别问题,winforms,coded-ui-tests,Winforms,Coded Ui Tests,我有点奇怪的情况。我们正在测试的应用程序在主窗口的标题栏中包含版本号。例如:Photoshop 6.1.06 在开发周期中,版本经常更改 在运行时,我可以将代码注入UI映射,以更新从ApplicationUnderTest.Exe路径动态提取的搜索属性,方法如下: var versionInfo = FileVersionInfo.GetVersionInfo(Constants.ApplicationUndertestPath); string version = versionInfo.Fi

我有点奇怪的情况。我们正在测试的应用程序在主窗口的标题栏中包含版本号。例如:Photoshop 6.1.06

在开发周期中,版本经常更改

在运行时,我可以将代码注入UI映射,以更新从ApplicationUnderTest.Exe路径动态提取的搜索属性,方法如下:

var versionInfo = FileVersionInfo.GetVersionInfo(Constants.ApplicationUndertestPath);
string version = versionInfo.FileVersion; 
_map.MainWin.SearchProperties[DXTestControl.PropertyNames.Name] =
 string.Format("Photoshop : {0}", version);
this.SearchProperties.Add(new
PropertyExpression(DXTestControl.PropertyNames.Name, "Photoshop :", 
PropertyExpressionOperator.Contains));
到目前为止还不错,但问题在于使用UIMap和编码的UI记录器进行控件标识

在这里,我尝试将主窗口的搜索属性从而不是相等运算符更改为包含

大概是这样的:

var versionInfo = FileVersionInfo.GetVersionInfo(Constants.ApplicationUndertestPath);
string version = versionInfo.FileVersion; 
_map.MainWin.SearchProperties[DXTestControl.PropertyNames.Name] =
 string.Format("Photoshop : {0}", version);
this.SearchProperties.Add(new
PropertyExpression(DXTestControl.PropertyNames.Name, "Photoshop :", 
PropertyExpressionOperator.Contains));
但是,新标识的控件不会添加到同一个MainWin树结构中,而是基于确切的版本创建查找,并将另一个MainWin.version number实例添加到UIMap中

如果我在MainWin中使用Equal操作符设置了确切的版本,那么一切都会正常工作,新控件会附加到MainWindow ui映射分支结构中,但这意味着在每次构建时都要维护UIMap

我怎样才能避开这件事