• 2007年08月29日

    HP QTP问答

    分类:

    Q:runaction后面能不能接变量(动态调用action,所以从数据库取数据做action名字了,但是调用总是找不到)? 

    A:脚本中原有RunAction "testbase [case1]", oneIteration,把引号中的内容放到Global表中的第22行,然后将代码修改为:

      datatable.getsheet("Global")

      datatable.setcurrentrow(22)

      strLogin=DataTable("ActionName","Global")

      RunAction strLogin, oneIteration

      help中也有相关帮助,如:

      RunAction ActionName, [IterationMode , IterationRange , Parameters]

      ActionName : String : The name of the action

     

    Q:QTP8.2中调用VB函数的问题(VBScript写了一些测试脚本需要的几个通用函数,有没有办法可以用类似include的方式进行调用,而不需要每次都把这些函数Copy到新的脚本中)?

    A:程序开头加上ExecuteFile "..\..\..\project\DeVariable.vbs"

     

    Q:QTP如何做回归测试(300多个Test CaseTD是否可以管理)

    A:TD可以实现,可以生成测试集,一个测试集可以包含若干个测试脚本。QTP8.2本身提供一个工具Test Batch Runner,但是运行完没有报告。HP有另一个工具叫MTMMulti Test Manager)

     

    Q:QTP中如何设置使用别的浏览器(XP系统,用IE访问程序时,每次总提示屏蔽安装ActiveX插件,需要手动安装.但把这个过程录制到QTP后,回放一次是成功的。当我给某个输入框参数化了好多数据后,回放过程中,某些就会失败。

    A:1、每个动作设置延迟时间,延迟可用WAIT XX单位是秒)

      2、设置为用别的浏览器(失败的提示信息是object not visible),安装插件添加新的浏览器

         SystemUtil.Run "file”  "params" "dir" "op'' "mode"-QTP运行可执行文件的方法及其参数

         P.S.: 建议是用IE浏览器,或者IE内核浏览器做测试。

     

    Q:checkpoint 检查网页,是否能实现,只要网页出现乱码就返回错误报告?

    A:Text not displayed能解决问题。

    关于 Text Checkpoint 的总结。

    1Text Checkpoint 的检查部分分为三个部分。Checked Text Text Before Text After。在默认的情况下,Checked Text执行的是精确检查,其余两个部分执行的是模糊检查。Text  before(After)检查的内容可以比实际的内容少。但是不能有和是实际内容不相符的地方,否则就失败。

    2Exact match选项。如果选择了这个选项,三部分完全都进行精确检查。个人觉得和只检查 checked Text部分没有区别。

    3Text not displayed。这个选项本质上就是一个结果取反的过程。就是把检查的结果给反过来,把 Pass变成FailFail变成 Pass

     

    Q:如何能记录到页面的校验码?(Output value能不能得到web页面的校验码,一般的校验码是由图片随即生成的,用QTP怎么录脚本在登陆前得到校验码并输入到校验码一栏)

    A: (1) 一个很简单的方法:测试时叫开发屏蔽掉检验码的功能后,再录制脚本。检验码的功能可以手工很简单测试出来。

       (2) 想得到图片的校验码,唯一的方法就是跟程序员拿程序,然后自己在脚本里面写FUCNTION!其它就要手动输入了。

     

    Q:一个Action里如何调用在另一个Action中定义的函数、过程(或变量、常量)

      例如:

         -----------------------------------

         'Action_A

            Public strURL   

               ...... ......

          Function QueryList()

            ...... ......

            ...... ...... 

          End Function

        ------------------------------------

       'Action_B

       '如何调用 QueryList函数和strURL

    A: (1)可以把这些变量和Function放在vbs文件作为resource文件共享,在每个Action中添加该文件.   如果Function中出现控件调用,那么必须确保该控件在相应的Actionobject repository中是存在的.

       (2)定义一个可被调用的Action 里面唯一的放一个Function.

     

    Q:如何管理QTP的源代码?(QTP生成的源代码比较多,而且和环境控件都有关 。假如需要多人同时开发,  请问如何管理源代码?)

    A: 一个是代码你可以通过VSSCVS 等来进行管理;一个是通过TD或者QC基于用例的代码管理。其实第一种方法是基于版本控制来进行的,第二种方法是基于用例管理进行的。角度不同,管理方法也不同。不过团队协作需要的大家分工明确,进度控制。代码管理可以借鉴开发的方法。

     

    Q:脚本不能回放,IE中的ActiveX设置有问题?

    A:依次点击Tools--->Options...---->Active Screen,然后点开Advanced..按钮,选中Load ActiveX  controls(就是前面出现对号); 同时把Run scripts的选项改为Disabled就可以了。

     

    Q:QTP无法录制某些控件?

    A:1.添加相应的Add-in是解决此类问题的第一选择,如果有相应的Add-in的话。例如如果是测试 Java 类的程序,就要加载 Java Add-in。你安装好 QTP后,有三个Add-in ( ActiveXVisual Basic Web)就被装载了。除此之外,QTP 8.2 版本还可以装载的 Add-in   QuickTest Professional  Java 6.5 Add-in QuickTest Professional Oracle 6.5 Add-in QuickTest Professiona Siebel 8.0  Add-in QuickTest Professional Terminal Emulator 8.0 Add-in (每个版面的QTP可以加载的 Add-in 可以在相应的QTP_Install_Guide.pdf Main_Users_Guide.pdf 中找到。)

    2.把不能识别的对象设置为虚拟对象(Virtual Object)。依次点击QTP的“Tools--->"Virtual Objects"--->"New Virtual Object...",就会出现Virtual Object Wizard对话框,根据Wizard的指引,就可以把添加一些支持的不好的控件设置成虚拟控件,也就添加到对象库了。

    3.QTP不能录制的对象手工添加到object repository

    4.特殊解决方法。如果不能识别的控件是用VC做的,那么你可以自己写一个动态链接库,然后让QTP去调用它。

     

    【下载】

    QuickTest Professional 9.5

    LoadRunner 9.0 WindowsUnix and Linux

    SiteScope 9.0

    Test Director for Quality Center 9.2

    WinRunner 9.2Oracle Add-in 7.6JAVA ADD-IN 7.6TERMINAL EMULATOR ADD-IN 7.6DELPHI ADD-IN 7.62008215结束产品生命周期,被Functional Testing取代

    QuickTest Professional 8.0 Tutorial

    QTP_8.2使用说明书》简体

    QTP错误处理机制概述

    QTP127个问题  

    QTP对象识别常用方法介绍  

    什么是Keyword-Driven_Testing

    软通动力Mercury QuickTest Professional 8.2教程

    QTP调用外部动态库的方法

    Testing Flex Applications with Mercury QuickTest Professional

    Vbs脚本编程简明教程

    【参考资料】

    1.   QTP版问题集锦及回答(1)(2

    2.   GetROProperty,GetTOProperties,GetTOProperty的区别

    3.   QTP无法录制某些控件的操作的解决方法

    4.  Knowledge inbox (by Tarun Lalwani)-Focus QTP

    5. 1.vbscript Prolog2.Datatype and variables in VBScript3.Flow control in VBScript4.Procedures in VBScript5.VBScript project with multi-files6.Error handling in VBScript


    收藏到:Del.icio.us




    评论

  • QTP轻量级自动化测试框架
    http://cid-4b8b8439c1b9f5d5.skydrive.live.com/self.aspx/Public/QTP%e8%bd%bb%e9%87%8f%e7%ba%a7%e8%87%aa%e5%8a%a8%e5%8c%96%e6%b5%8b%e8%af%95%e6%a1%86%e6%9e%b6.zip