控制识别问题

时间:2015-02-04 17:58:35

标签: winforms coded-ui-tests

我有点奇怪的情况。我们的测试应用程序包含主窗口标题栏中的版本号。例如: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);

到目前为止一直很好,但问题在于使用UIMap和Coded UI Recorder进行控制识别。

这里我试图将主窗口的搜索属性从Equal运算符改为Contains。

这样的事情:

this.SearchProperties.Add(new
PropertyExpression(DXTestControl.PropertyNames.Name, "Photoshop :", 
PropertyExpressionOperator.Contains));

但是,新识别的控件不会添加到同一个MainWin树结构中,而是根据确切的版本创建查找,并将另一个MainWin.version数字实例添加到UIMap。

如果我使用Equal运算符在我的MainWin中设置确切的版本 - 那么一切正常并且新的控件被附加到MainWindow ui map分支结构,但这意味着维护每个构建的UIMap。

我该如何解决这个问题?

0 个答案:

没有答案