VS 2010 测试功能学习(十一) 如何用CUIT代码定位UI控件?

发表于:2011-1-12 14:32

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:周京生    来源:51Testing软件测试网采编

#
微软
#
studio
#
Visual
分享:

  前几篇博客中关于Coded UI Test(以下简称为CUIT)的介绍啰啰嗦嗦地也写了不少了,但也是都是些概念性的东东,并触及到CUIT的核心Code,也就是如何用Code来真正实现对程序UI的的控制。从本篇博客开始,我就简单介绍一下如何使用代码来控制UI上元素。下图是我在前两天给同事所做的CUIT UI测试功能介绍中的一页PPT,图的左半边是我总结的UI测试的一个简单步骤模型,右半边则是CUIT所提供的对应功能。

  这左半边的5步是进行UI自动化测试所必须的步骤,同时也是任何测试所共有,不仅限于UI测试。看似简单,但实际上蕴藏很多的内容,其中有一点常被测试人员所忽略的地方就是,用它来衡量被测试软件(Application Under Test, AUT)的可测试性(Testability)。在项目开始阶段,测试人员在评审PM和开发人员的文档时,往往总是从要实现系统的功能是否正确和完善的角度开始,急于去了解要测试内容的具体情况,忙着着手准备开始写测试计划。而没有人愿意去考虑一下仔细思考一下:AUT是否好测试?稍改进一下是否更有利于实现自动化测试

  编写CUIT测试代码的第一步就是要能够找到所要操作的UI控件,然后创建对应的测试对象。要定位到指定的UI控件并创建测试对象,需要知道该空间的类型、父控件对象以及它的搜索属性。例如,Visual Studio 2010中新加入了一新的工具窗口Architecture Explorer,用于浏览程序的结构层次,其中包含了一个个的Column窗口,如下图所示:

  下面的CUIT代码就封装了对这个Column控件测试类:

view plaincopy to clipboardprint?
public class VSAEColumn : WpfCustom  

    #region Constructors  
       
    /// <summary>  
    ///   
    /// </summary>  
    /// <param name="searchLimitContainer"></param>  
    /// <param name="index">Column index</param>  
    public VSAEColumn(VSArchitectureExplorer architectureExplorer, int index) :  
    base(architectureExplorer.CascadeScrollViewPane)  
    {  
        this.architectureExplorer = architectureExplorer;  
          
        #region Search Criteria  
        this.SearchProperties[WpfCustom.PropertyNames.ClassName] = "Uia.CascadeColumn";  
        this.SearchProperties[WpfCustom.PropertyNames.AutomationId] = String.Format("Column_{0}", index); 
        #endregion   
    }  
      
    #endregion  
       
    …  
}

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号