自动化测试 - RFT系列教程6: 操作被测控件的陷阱(setProperty)

对于一般都是EditBox,RFT一般有两种方法支持对EditBox的附值操作,setProperty()和setText()。一般情况下两个方法都可以达到附值的效果,但是他们有着本质的区别,尤其是一些特定的情况下,setProperty()会成为automation的陷阱。

 


 

我没有找到公共资源下面的例子,但是在我坐在的项目里有很多setProperty()会成为陷阱的例子,这里我先简单介绍一种情况:

假设有一个EditBox,可以接受正常的字符串,但是在用户输入完字符串之后,这个EditBox会自动把所有小写字符转化成大字,比如用户输入'London’,当用户输入完鼠标离开该EditBox的时候,上面的字符串会自动变成'LONDON’。

 

基于上面的这种情况,下面的两种操作方式会截然不同

  • setProperty执行过后,该Editbox仍旧显示为London;但是setText执行后,Editbox会把字符串转化成LONDON
  • 熟悉界面开发的朋友都知道,界面控件在做校验的方法一般都是重写监听event的某些接口,比如onModify,onLoseFocus等等
  • 由此可以看见setProperty仅仅是直接修改控件的属性值,但是并没有触发Editbox监听event的listener,但是setText则是模拟鼠标键盘操作,首先会点击Editbox,然后输入字符串,之后失去focus,这样setText不仅仅给Editbox附值,同时还触发了click,hasfocus,modify,losefocus等等event,这样setText附值之后,Editbox还可以继续把输入的字符串转成大写

个人推荐如果可以的话尽量不要使用setProperty的方法,界面上自动化测试本来就是模拟测试人员的鼠标键盘操作,我们应该尽量真实地再现测试人员的操作。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值