UI Automation开发 心得笔记四

1.现在对UI自动化有了更深的认识,现在来纠正下我们普通人对她的看法。

首先,UI自动化做的事不是简单的点击鼠标和发送字符,这些操作仅仅是UI Automation的一个表现形式。

其次,UI自动化是根据一定的现实规律(包括系统,软件的特定规律),按照指定的步骤去进行一系列有规则的操作。

举例来讲,在不同的系统环境,UI element tree在存储某一个元素会把他们存放在不同的位置;

依据系统的特点,对UI element的属性甚至元素的初始化都不相同;

同一个软件但不同版本,UI展现是不同的,怎样保证同一个UI Automation应用程序能自适应不同的环境,需要程序员仔细斟酌的;

UI element有各种不同的类型,有下拉列表,有单选框,有文本框,有按钮,对于这些类型的UI element的点击方式是不同的;

最后还包括怎样执行不同的托、拉、拽不同的行为和确定移动像素的大小。

很多因素都是UI Automation需要考虑到的。所以UI Automation不像表象那样,告诉应用程序怎么去移动鼠标而已,表面背后藏着一些研究和规律在里面。

 

2.UI Automation还需要考虑一种情况:当UI automation执行的过程中,发生与期盼的行为不同的情况时,UI automation该如何去处理。

 

3.还有一个情况比较复杂:就是时间问题。

举三个例子:

a)查找UI element的时候,此时该元素消失了怎么办?或者该元素初始化时间过长;

b)查找UI element的方法在指定的时间内没有找到对象该怎么办?

c)在什么时候去验证是否弹出了某个不期望的对话框或错误提示(这些对话框或错误提示在不同系统环境下存储的位置是不同的,而且出现的时间也不一定。)

 

举个更具体的例子,这个“时间”包括确保在WaitForClose/WaitForShow/FindUIElement之前中后,不会发生UI element Not availableException 或者NullObjectReferenceException或者NotFoundOutUIException。

 

然而,这些问题不应该在具体test case里面去解决,应该在这个automation执行的框架上去解决。

 

4.自动化有这个一个要求,就是不需要人在一旁盯着自动化的执行。

所以需要有详细的日志来记录自动化执行的过程中所有的执行过程,甚至包括if else这样的判断语句。

 

5.UI  automation不仅仅能应用在测试当中,因为UI Automation的本质是不需要人的参与就能自动地对UI进行操作,所以她还能应用中办公中(比如聊天,发邮件,进行数字统计),还能应用中游戏中(打怪物)。前提是这些操作的对象都是可识别的。

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值