微软UI自动化库纵览之二

上一篇 / 下一篇  2008-10-31 17:46:03 / 个人分类:自动化测试框架

  控件模式提供方法、属性、事件以及关系,他用这些说明一个控件可以获得的功能。关系:描述了控件在控件树上的位置;方法:被Client用来操纵控件;属性与事件:提供关于控件模式的功能以及控件状态的信息。

自动化Provider实现控件模式并暴露被控件支持的功能。自动化Client获取自动化控件模式类的属性和方法,并用其获得控件的相关信息以操纵控件。你可以在Automation命名空间下找到这些控件模式(像InvokePattern,SelectionPattern)。

  按照微软的说法,控件模式是动态的,他们举例如下:一个multiline的编辑框在行数比较少的时候,他的Scrolling是disable的,但是当行数超过可显示行数的时候,Scrolling属性就是enable的,所以呢,控件模式是动态的(貌似很NB的)。

 

  ok,说说自己对控件模式的理解。用控件模式的方式给一个文本框赋值。我们加入已经有了AutomationElement aeTextBox;如果我们想输入文本,要这样做:

 

   //----------------------------

  ValuePattern vpTextBox=(ValuePattern)aeTextBox.GetCurrentPattern (ValuePattern.Pattern);

  vpTextBox.SetValue("string");

   //-----------------------------

 

  我们知道,在通常情况下,我们如果对一个文本框赋值,一般是这样textbox1.text="",只不过到了自动化库中,他不允许你这样的做了,它加入了一个控件模式类,你想给文本框赋值?ok,先取得对象的ValuePattern对象,用ValuePattern的方法赋值;想选取对象?先取得他的SelectionPattern对象。就是说,控件模式抽象了控件的方法,成了操作控件的工具。


TAG: 自动化测试框架

 

评分:0

我来说两句

Open Toolbar