如何为Treeview.ItemsSource编写编码UI断言> 0

时间:2013-08-06 17:05:34

标签: visual-studio-2012 coded-ui-tests

背景:我刚学习编码用户界面。这是来自使用VS 12的WPF中的简单测试应用程序。

我创建了一个Coded UI测试项目和一个Coded UI测试。

我已经录制了打开应用程序,单击按钮,然后关闭应用程序,它将在测试运行中运行。

现在我想在Treeview中添加一个断言。该场景是用户打开文件,并加载树视图,我想确保Treeview中至少有一个项目。

所以我运行exe,打开Coded UI Test Builder并将十字准线拖到Treeview上。它成功地突出了TreeView。然后显示Add Assertions Dialog。

Treeview显示在Dialog中,但ItemsSource没有“Control Specific”属性。它仅显示5个控件特定属性,例如HelpText,AccessKey等。

我可以为HelpText添加一个断言,但这不是我们需要的。

所以问题是,为什么不在断言对话框中显示ItemsSource?

如何让它显示?

1 个答案:

答案 0 :(得分:0)

将十字准线工具拖动到UI控件上后,将显示断言对话框。在“添加断言”按钮的右侧,有四个箭头,分别为“上”,“下”,“左”和“右”。单击这些允许在兄弟(左和右),祖先(上)和子(下)之间更改所选控件。使用这些按钮来探索树控件。我不知道您正在查看的特定树中的“ItemsSource”是什么,它可能不是树的公开属性,即使它是实现或API的一部分。树的某些部分可能还有其他属性具有您需要的值。

我不相信Coded UI可以生成断言来测试树是否包含至少一个项目。我相信你需要手工编写那部分代码。我的第一个想法是获取树的UIControl对象,然后使用其GetChildren方法查找树中的项目。这可能需要递归才能获得树中的所有元素。