脚踏实地,争分夺秒,不断学习新知识,提高自身的能力!

发布新日志

  • Rational Robot中自动进行100次操作

    2009-08-14 09:55:58

    Rational Robot中的SQA Basic与Basic语言极为类似,下面是一个for循环的例子,其中cstri()函数把整数转换成字符串。
    Sub Main
        Dim Result As Integer
        Dim i As Integer
        ……
       
         'begin of for loop
         for i=1 to 100 step 1
         ……
         InputKeys cstr(i*3) '这个地方设置输入值为I*3.
         ……
        next
        'end of for loop
        ……
    End Sub
  • 两个例子

    2009-08-14 09:55:58

    使用Rational Robot录制自动测试GUI脚本,在点击一个按钮以后,出现的结果可能有多种,可能会出现一个含“确定”按钮的对话框,也可能出现一个标题为”Title abcd”的窗体,可以使用SQAWaitForPropertyvalue方法来判断出现的属性,或者使用SQAWaitForObject来判断出现何种窗体,下面是两个对可能出现的属性进行判断的例子。

    1).2秒内假若出现确定对话框,点击确定按钮,否则打印"确定按钮未出现" :
    '等待2秒直到确定按钮出现.
    Result = SQAWaitForPropertyvalue("Text=(O)确定", "Enabled",TRUE, 2000)
    If Result <> sqaSuccess Then
    print "确定按钮未出现"
    Else   
        PushButton Click, "Text=(O)确定"   
    End If

    2).2秒内假若出现标题为"Title abcd" 的窗体,打印"出现标题为Title abcd的窗体" ,否则打印"未出现标题为Title abcd的窗体" :
    '等待2秒直到标题为Title abcd的窗体出现.
    Result = SQAWaitForPropertyvalue("Caption=Title abcd", "Enabled",TRUE, 2000)
    If Result <> sqaSuccess Then
    PushButton Click, "Text=(O)确定"
    print "出现标题为Title abcd的窗体"
    Else   
        print "未出现标题为Title abcd的窗体"
    End If


    说明:
    1).Result是一个Integer型变量;

    2).SQAWaitForPropertyvalue:顾名思义,指的是等待一个属性被指定值之前暂停执行。SQAWaitForPropertyvalue("Text=(O)确定", "Enabled",TRUE, 2000)表示等待2秒直到确定按钮出现,如果2秒内未出现,则返回sqlfalse,出现则返回sqlsuccess;

    3).SQA Basic中<>表示不等于;

    4).另外,可以用SQAWaitForObject来判断出现出现的对象类型:
    Result = SQAWaitForObject("Type=PushButton;Text=OK", 2000)
    If Result = sqaSuccess Then
         ...          ' add the rest of the actions/tests here
    End If
  • rational对象脚本命令(转)

    2009-08-14 09:16:43

    对象脚本命令
        使用robot录制的脚本在实际的测试使用中,并不是很好用。录制的脚本是线性脚本没有控制结构,如果要测试大量的数据,只依靠录制的脚本测试,是行不通的。另外,带有校验点的线性脚本,直接加入控制结构,大部分是不能正确回放的。这种情况下,使用robot的对象脚本命令是不错的选择。使用方法是采用录制加手工编码的混合方式。这样产生的脚本清晰、易维护、功能强大。

    下面还是计算器的例子,使用SQAGetProperty获取对象属性,使用SQALogMessage将测试结果写入到日志中:
    Sub Main
        Dim Result As Integer
        Dim sum as string

        'Initially Recorded: 2003-7-21  11:07:34
        'Script. Name: jsq-对象脚本
        StartApplication "C:\WINNT\system32\calc.exe"
       
        Window SetContext, "Caption=计算器", ""
        InputKeys "1{+}1{ENTER}"
        Result= SQAGetProperty ("Type=Label;ObjectIndex=1", "Text", sum)
       
        if left(sum,1)="2" then
          SQALogMessage sqaPass, "测试通过", ""
        else
          SQALogMessage sqaFail, "测试失败", ""
        end if      
       
        Window CloseWin, "", ""

    End Sub

         在实际测试中,你会发现这种脚本非常好用。

  • Rational Robot(转)

    2009-08-12 15:13:20

    Rational Robot简单的说是这样一个东西:它能记住你所有的操作(键盘和鼠标),并且不走样的再来一遍。

           我们先来看看传统的手工
    测试的过程。假设我们测试Windows自带的计算器应用程序。我们要验证“1+2=3”这么个简单的加法运算,看看计算器应用程序是否正确。我们用鼠标依次点击“1”,“+”,“2”,“ =”,然后我们用眼睛看结果栏里面是不是“3”,如果是,就OK,如果不是我们就要分析:是不是自己点错了?是不是别的误会?很有可能我们会重新再来一遍(因为这个操作并不复杂),最后我们确信地给出结论:“这个应用程序不能正确的算出1+2=3”,然后我们要做的事情是填写相关的报告,报告这个BUG。不久之后你得到了一个新的版本,然后你再重复上面的测试过程。不久之后,又来了个集成测试要求,要求你再做一遍,最后,发布前还有一次验收测试,对不起,你再来点一遍。哦,对了还要求对老版本Win95/98的支持,准备环境,再来几遍。。。
    好了,大家已经看到恶果了。但事实上我们要么就正在这么傻傻地做,要么就在偷工减料。随着迭代开发模式被广泛地采纳,测试被更加快速的要求重复着。因此,
    自动化测试有了它的用武之地。

           现在我们再来看看
    Rational Robot是怎样帮助我们节省时间的。我们用一次手工测试的时间(数量级的相同),记录一个GUI脚本,然后需要的时候就让它回放(Playback)一次。如果你说开发小组现在逻辑还没有完全实现,没关系,你自己心中肯定知道将来一定会实现1+2=3的,不会是别的东西,因为最原始的需求没有改变,我们就可以手工改写GUI脚本,将预期结果3记录下来。甚者,你说现在开发小组连界面都还没有完成,那你的要求就太过分了,没有办法去测是一个连基本输入输出都不能实现的东西,手工测试也不行啊。除此之外,我们还可以用数据池(Datapool)来给脚本“泵”数据,这样不单单测试了“1+2=3”,还可以测试“2+1=3”,“2+2=4”,如果愿意,我们可以让这个脚本把所有整数范围的加法一个不漏的全部执行一遍,计算机反正不知道累。

           上面的道理看上去很简单,但是这就是自动测试的精髓所在。但是人的活动是很复杂的,也就是说,手工测试有很高的权威性,因为不管什么软件,它最后的运行结果都是靠人来判定正确与否。所以,不管什么自动测试工具都只是一个子集,Rational Robot之所以很有名气,就是因为它比别的工具模仿手工测试模仿得更象一些。再加上Rational家族
    其它工具的配合,使我们整个的测试工作显得很有序。

           因此,我们学习Rational Robot的自动测试,我建议一切从我们的需求出发,每一个问题,我们都先考虑怎样手工来测试,然后我们去在Rational Robot中找替代物。比如说,例子中我们是用眼睛去看用脑子去判断是不是等于3,那Rational Robot就是靠捕获界面上那个文本框的属性(Object Properties)来判断的,换句话说,将我们手工测试中的每一个动作和每一个思考都“翻译”成Robot的方式。这样很快的我们就能上手用Robot了。再碰到一些棘手的问题,查看帮助也解决后,我们就能慢慢积累一些生僻的经验。你就成为Rational Robot自动测试高手了。最后,你还能用Robot提供的接口进行一些特殊功能的扩展开发,恭喜!你已经是Rational Robot自动测试专家了。
  • Rational Robot 初次使用指南(转)

    2009-08-12 14:50:04

    在安装IBM Rational Robot后,往往很多朋友便急忙的打开Robot,想看看它的界面,可是发现出现的并不是他们实际相要的东西,Robot需要经过一定的配置之后,才能正常的投入到使用中去。本文是作者在一次项目实施中使用的配置,留给自己日后参考。

    在首次安装并倒入Licens后,首先会启动如下界面,但是我们会发现在Project中没有任何项目,而且我们也暂时无法获得admin用户的Password

     

    1, 首先,我们打开Rational Administrator

    开始-所有程序- -IBM Rational- - Rational Administrator

     

    2, 新建一个项目:

    File- -New Project

    项目名称:MyRobotProject

    项目路径:C:\Documents and Settings\Administrator\My Documents\Rational Project\

     

    3, 点击下一步,弹出如下窗体,点击OK继续,不用理会:

        

    4, 直接点击下一步,暂时务须输入任何密码

     

    5, 点击完成

     

    6, 配置项目51Testing软件测试网9R P8A'u0k1B)kj&b+Y

    这里我们只对Test Assets做相关配置,其他请参考相关文档。

     

    因为实验环境,所以选择Microsoft Access作为Robot数据库。开始数据库的配置,请连续点击下一步。

    点击完成。

    Test Datastore成功创建。

    点击OK。Robot Project成功创建。

    7, 运行项目

    打开Robot,因为前面这里的密码设置为空,所以这里不用输入任何密码,你可以在登陆进后在菜单里面进行密码的设置。51Testing软件测试网;L a lp(w"T,H4D6W!F3VW

    点击OK

    Robot启动界面如下,你就可以开始你的测试 

     

Open Toolbar