上面的代码有三处需要特别注意,它们共同工作完成了对UI测试对象的创建:
父类WpfCustom:是CUIT框架提供的一个类,它所对应的UI元素是WPF Custom类型的控件。
architectureExplorer.CascadeScrollViewPane:它是Column控件的父控件所对应的测试对象,它限定了对Column控件的搜索访问,即就在该父控件的子控件中进行搜索。
Search Criteria中定义的两条搜索标准:AutomationId和ClassName。
看了上述这三点,你肯定要问如何才能知道我所要的UI控件的类型、父和搜索标准呢? VS 2010中提供了Coded UI Test Builder工具来辅助你获得这些信息。如下图所示, 这是用CUIT Builder抓取的Column控件的信息,涵盖了上述的三方面内容。
Coded UI Test Builder对应的可执行文件CodedUITestBuilder.exe在放在 ...\Program Files\Microsoft Visual Studio 10.0\Common7\IDE目录下,但很可惜,对于VS 2010版本它依赖CUIT工程不能独立执行,只能是先创建一个Coded UI Test工程,然后打开测试代码文件,鼠标右键点击任何一个[TestMethod]方法,弹出菜单中选择“Generate Code for Coded UI Test”-> "Use Coded UI Test Builder"。
有朋友问起过,如何使用CUIT进行本地化产品的测试。其实,CUIT本身的功能是支持用户进行基于UI的功能测试,本地化测试的支持应该是另外的技术来辅助的。比如说,对于基于.NET Framework的managed应用,就可以使用.NET自带的资源访问机制在代码中来进行本地化资源的访问,这里是指ResourceManager类以及.NET平台的对资源内容分发和部署机制。
相关链接:
VS 2010 测试功能学习(十) 从Generalist到Specialist
VS 2010 测试功能学习(八) RnP与Coded UI自动化测试(下)
VS 2010 测试功能学习(七) RnP与Coded UI自动化测试(上)
VS 2010 测试功能学习(六) Rolling Build
VS 2010 测试功能学习(五)Gated Check-in
VS 2010 测试功能学习(四) Test Impact Analysis
Visual Studio 2010 Beta 2 测试功能学习(三) 真正的主角儿