尽管文本框清晰可见,但仍无法进行信息隐藏

时间:2013-07-19 00:53:19

标签: c# visual-studio-2010 coded-ui-tests

我有一个wpf应用程序,它有一个文本框,我可以在第一次写入文本值就好了。如果我退出窗口,文本框就在,然后重新打开同一个窗口,尽管已启用,但测试无法再找到该框,并且在我的屏幕上清晰可见。

我看了一下盒子的值,x,y = -1,-1和高度,宽度也是-1,-1这看起来很混乱,因为盒子是完全可见的。

我知道框中的文字是什么,是否可以搜索带有解决方法的文本框?

我会继续研究这个,但感谢任何反馈:)

编辑:进一步研究后,在原始字段的顶部有第二个字段,提供关于框的用途的初始说明(“输入字段值”)。

也许这是一个wpf错误?

2 个答案:

答案 0 :(得分:3)

我发现UIMap上的盒子没有正确更新。这可以通过将应用程序窗口SearchConfinguration(仅在特定测试中)设置为始终搜索来解决:

    UIMap.ApplicationWindowName.SearchConfigurations.Add(SearchConfiguration.AlwaysSearch);

显然这会导致性能下降,但我没有注意到!

答案 1 :(得分:2)

我会查看文本框的 SearchProperties FilterProperties ,我怀疑已找到两个并且选择了错误的一个。或者,可能是第二个窗口对于用于标识窗口的属性具有一些不同的值。

一个想法:手动再次运行程序,将带有文本框的第一个窗口移动到屏幕的一角,然后关闭该窗口。导致窗口重新打开并将其移动到屏幕的对角;让窗口显示出来。打开Coded UI测试的UI Map并使用 Locate 命令查找该框 - 它应在文本框周围绘制一条蓝线。

另一个想法是调用 FindMatchingControls (如Coded UI conditional check on a method is not working所示),然后使用属性(例如x,y,height,width中的某些属性)来选择所需的控件。 / p>

我怀疑它是否是WPF错误,但是在WPF应用程序中可能是一个错误,当第一个窗口关闭时它没有正确清理。