使用UI Automation实现自动化测试--2

 

      本文通过一个实例来介绍怎样使用UI Automation实现软件的自动化测试。

1. 首先建立一个待测试的winform程序,即UI Automation的服务端。

 

下面是button事件处理程序。

 

private void button1_Click(object sender, EventArgs e)

{

     int i = int.Parse(textBox1.Text);

     int j = int.Parse(textBox2.Text);

     textBox3.Text = (i + j).ToString();

}

2. 建立一个测试程序,做UI Automaion的客户端。

添加引用:UIAutomationClient.dll 和 UIAutomationTypes.dll

 


Code

DockPattern                                 ExpandCollapsePattern

GridPattern                                  GridItemPattern

InvokePattern                              MultipleViewPattern

RangeValuePattern                      ScrollPattern

ScrollItemPattern                        SelectionPattern

SelectionItemPattern                   TablePattern

TableItemPattern                        TextPattern

TogglePattern                             TransformPattern

ValuePattern                               WindowPattern


 

 

posted @ 2009-05-22 15:23 开着拖拉机 阅读(2448) 评论(10) 编辑 收藏

 回复 引用 查看   
#1楼2009-09-11 13:07 | 包建强      
貌似每个话题都可以展开说很久哦。
比如说,TextPattern是给TextBox用的,而其他的呢。。。。

 回复 引用 查看   
#2楼[楼主]2009-09-12 21:12 | 开着拖拉机      
@包建强
接下来我想就每个Pattern试着举简单的例子,谢谢关注

 回复 引用 查看   
#3楼2009-09-13 22:15 | Alex Huang      
good,我会继续留意
 回复 引用   
#4楼2009-09-22 14:13 | KAKU[未注册用户]
Konnimal
 回复 引用 查看   
#5楼[楼主]2009-09-22 19:23 | 开着拖拉机      
@KAKU
Guonimal

 回复 引用   
#6楼2009-11-18 16:02 | xiaochen520[未注册用户]
我对这方面是个新手,看您的这些东西有些费力,请问下有这方面的书籍吗?能推荐下吗?
谢谢!

 回复 引用 查看   
#7楼[楼主]2009-11-19 21:52 | 开着拖拉机      
@xiaochen520
你好,最近好像还没有相关的书籍,学习微软的东西可以看看MSDN,比较详细。

 回复 引用 查看   
#8楼2010-01-15 15:59 | nemo2389      
你好,我想请教一个问题,能不能在不知道控件的name属性下测试?
 回复 引用 查看   
#9楼[楼主]2010-01-15 21:09 | 开着拖拉机      
@nemo2389
可以,不过至少要知道某一个属性,例如HelpText,AutomationId等

 回复 引用 查看   
#10楼2010-11-10 15:16 | Gil      
你好,请教个问题。

我发现你代码中的aeForm赋值了两次,两次赋值期间没有对该实例作任何的改变和调用,于是乎,我把
AutomationElement aeForm = AutomationElement.FromHandle(p.MainWindowHandle);
改成
AutomationElement aeForm;

如我所料,程序的编译和执行都跟没改代码前丝毫不差。那么,AutomationElement.FromHandle(p.MainWindowHandle)意欲何为?