发布新日志

  • LR学习笔记(1)

    2009-01-12 21:28:30

      本人为lr的初学者,把自己学习收获和大家分享:

    1.lr的框架函数

    (1)。vuser_init() 这是虚拟用户的初始化函数。

     (2)。Actiong()虚拟用户要做的业务。

    (3)。vuser_end()和初始化函数相对应,做收尾工作

    2。脚本中可调用的函数:

    (1)VU通用函数,一般以lr开头,如:lr_start_transaction

     a。事物控制函数,

    b。命令行分析函数,

    c。系统信息函数,

    d,字符串函数,

    e,日志函数,

    f,运行时函数

    (2)协议相关的函数,一般以本协议类型开头,如web_list,web_url

    (3)语言相关的函数

  • QTP脚本调试--解决对象无法识别问题

    2009-01-12 21:25:35

          我在做测试过程中发现:当录制好一个Active 后,将其回放,就会发现经常出错,显示作错误, Objcet is disable。当点击Retry 按钮后,就又可以通过了。感觉挺奇怪的。

         当一天,我再51testing上看到一个叫zibeike 的专家,写了一篇关于QTP脚本调试实例--解决对象无法识别问题的文章,给我很大启示。我试着按照他教的方法去做了,但是发现还出错,通过尝试,找到了自己测试用例出错的原因,特写下来和大家分享一下。

        一般情况下程序分为两种:windows和web程序。

        而zibeike 写的解决方法实际是关于windows的,而我的程序是web的,故肯定不行。

       对于 windows程序来说,对象不能识别可以用下边的方法:

        QTP的Tool----〉Object Identification,找到关于windows相应需要修改的对象类型,  把"window id”去掉,并且勾选上"Enable Smart Identification".

        对于 web程序来说,对象不能识别可以用下边的方法:

        1. QTP的Tool----〉Object Identification,找到关于web相应需要修改的对象类型,  勾选上"Enable Smart Identification".

         2. 可能是回放速度太快了(我的测试用例就是由于这个原因,现象是设置点重试按钮,可以通过,而且不是总是那一个地方出错,有时候出错,有时候不出错,很不稳定),办法:将tool----〉option中的run的runMOde 修改了运行模式为普通模式,而不是快速模式,这样修改之后,就不会出错了。 将Run Mode 改为 normal ,并且是20seconde就给可以了(具体可以自己来定)。

  • QTP 学习笔记(1)

    2009-01-12 21:12:47

    1。如何将多个action连续执行(也就是当action1执行完后,紧接自动执行action2。。。。。。)

    在选中action1右击鼠标得到右图,选择Insert Call to copy of Aciton。。。

     

    编辑,加入你想要的action2,既可以了,

    注意:在录制action1和action2时,要让他们连冠前来(有一个好的接口),不要有脱节的现象,这样回放起来,才不会出错.

     2.如何解决图片上传,回放出错的问题

    把地址直接写上,而不要通过对话框来选,就不会出错了。(这个方法只是暂时性的,会在以后更新)。

    3。如何实现编辑测试脚本。

    暂时先讲对脚本的编辑的两种情况:

    a。删除多余不用的脚本(直接右击删除就可以了)。

    b。插入新的step ,对home的click

    第一步,在home处右击鼠标,出现下边对话框,选择View/Add Object。。。

    第二步,同样在home处右击选中Step Generator。。。,弹出关于此步骤地对话框,对其进行编辑,就可得到新插入的step,而且你可以通过鼠标拖动,

    把此步骤放到合适的位置。

    4.如何进行对象进行修改

    如图所示,01/08/2009,是一个超链,他是根据系统时间自动生成的,click 他之后,进入该list的修改页面,如果要在01/08/2009的时候录制的test case,要想在01/12/2009那天,再进行回放,将会出错,无法正确回放, 通过修改OJect ,可以解决这个问题,不用再重新录制一边test case。

    点击在工具栏的 Resources---〉Object Repository ,弹出一个新的页面,可以在页面中找到关于上边对象相应位置,然后修改对象的名字,和他的属性中text的

    内容,把对象的名字和text都改为01/12/2009,就可以了,直接关闭该页面就会自动保存刚才的修改了。

    5.qtp和lr比较

    就各人观点来看,lr的功能更复杂一些,

    qtp是功能测试,

    lr是性能测试,而且他更加强大和复杂。

  • QTP参数化

    2009-01-09 12:02:36

     在QTP中,可以通过把测试脚本中固定的值替换成参数的方式来扩展测试脚本,从而参数化测试,有效地提高测试的灵活性。
     步骤:
      1。对想要参数化的Object的value 列进行单击,弹出一个对话框,这个对话框可设置object的值为固定值,也可以为一个可变的参数化变量(放在datatable中)。
      在datatable中,可以放在Global sheet中,可以放在Current action sheet中,区别对于多个action,用Global sheet比较好,而对一个action用后者比较好。 他们只是参数存储的问题不同。
      参数化变量的名字可以修改,最好修改成让其可读性强一点。
      2。对其他几个数据也参数化后,可以在datable中设置多条数据,默认情况,只执行一条,就结束回放了,
     修改脚本如下,让其连续执行多条再结束;
      Dim i, RowCount
      i=0
      RowCount=datatable.GetSheet("Action1").GetRowCount'得到sheet总共有多少行。
      msgbox Rowcount'信息提示框
      Do while i<RowCount
        i=i+1'加到下一行。
      datatable.GetSheet("Action1")
      datatable.SetCurrentRow(i)'得到当前行数据。
     ............'想要循环的部分。
      Loop
     
      
Open Toolbar