面朝测试,春暖花开.

[Rational Functional Tester][一起学]--我还想find个对象

上一篇 / 下一篇  2011-02-24 19:45:25 / 个人分类:Rational Functional Tester

  上回书说道Object,这次还是要说下Object,只是我们换个方式来定义.我们定义几个登陆百度的时候需要的object。比如 用户输入框,密码输入框,和登陆button等。

    前面我们知道可以用object map来记录object,不管共有还是私有.这次我们会用到find方法.直白的说有点像遍历,对于一些我们没法预先定制的object,就可以使用到find方法,很方便,但是会更多的占用系统的资源,一利必有一弊.

    来个例子吧比如我们想定义个 用户名的field,看看object map中的属性,下图:

    我们可以看到这个object的属性.让我们想想,每个object的区别就在于属性,我们想让工具按照我们的定义操作,就需要设定一个唯一的object,不然RFT会很迷惑,不知道你到底喜欢那个,所以在实际的工作中,object的定义也需要注意,在同一个操作的页面定义的object一定要唯一,而对于不同的界面也不是必须的,因为很多的object的属性是重复的,就像一个OK的button,太有可能每个界面都会有,因此这样的object是可以重用的.对于object定义的计划和安排,我的用法是,按照每个页面为单位来定义,把对应于一个页面的object收集到一起.来看看下面的例子 用户名object的定义:

    这个方法就是我们建立的 用户名输入的object,我来解释一下都用到了什么,为什么这么写.

     1.WTextField 是我自己定义的object 类,继承了TextGuiTestObject

      

       当然你也可以用ibm提供的包定义好的object.

        2.我们把object的属性,放在Property中来保存.能不能找到就要看你存放的属性是否正确,能不能唯一也在于此.Property 来自于com.rational.test.ft.script.Property.

        3.如何去找就要用到ProjectUtility中的写好的getTestObject(p, 60)方法.ProjectUtility也是自己定义的工具类.让我们来看看getTestObject(p, 60)是怎么来寻找object的,看下图我们就知道,这里面就是用的find方法,我只是提供一种方式,其他的想法,还要大家自己去寻找,通过练习我想,你会很快的学会使用.

    我来解释一下这个方法,输入的参数为 属性Property和时间(秒).首先我们拿到 操作的rootobject,也就是最顶层的object作为root,在这个root包含的范围内,去找出你指定属性的object,并将找到的object返回,如果发现寻找的时候制定的属性不唯一,就会抛出一个异常,说明发现不止一个object,最关键的就在root.find(RationalTestScript.atDescendant(p)).直接套用即可.必须说明使用find方法,有时候会很好用最大程度的不依赖map,但是也需要消耗相当的时间,请按照实际情况使用.如果发现消耗很多,可以使用unregisterfind找到的testobject.注意:上面的提供的class和方法,不需要你建立脚本去使用,而只需要建立个基本java文件就可以解决.

   上面提供给大家的是一种完全脱离object map的定义方式.找到object的方式有很多种,如果我们要定义个ok的button,但是一个界面上却有好几个ok的button,如何去让RFT定位到你想要的那个ok的button那?如果在界面上有一个panel(div),里面有些动态的link,我们却完全不知道link显示为什么,改如何去实现分别点击这些link那?

    对应于object的操作方法也有很多,比如click(),settext(),getText(),select(),等等,我在这里并不像挨个给大家演示一遍,其实你只需要得到你想要的Testobject,让后把他转化为GuiTestObject 或者TextGuiTestObject等等,在使用RFT定义好的方法去实现就可以啦,这些也许只是java的基本API使用.

    在这篇短文的结尾,我只想表达,不要怕出错,大胆的去尝试吧.出错了恰恰是你成长的开始.我们要实用,不要忽悠.

     鼓足 勇气,勇往直前!

   

 


TAG: Functional Rational tester Tester

引用 删除 kmxsmile   /   2013-02-08 10:31:31
不错,又学到了不少,谢谢楼主,鼓足勇气,勇往直前!
引用 删除 kmxsmile   /   2013-02-08 10:30:21
3
 

评分:0

我来说两句

cypress

cypress

步子不能迈的太大,这样容易扯着蛋.

日历

« 2024-04-25  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 9623
  • 日志数: 12
  • 建立时间: 2011-02-16
  • 更新时间: 2011-12-31

RSS订阅

Open Toolbar