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 Case ,TD 是否可以管理) ?

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

 

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

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

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

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

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

 

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

A :Text not displayed 能解决问题。

关于 Text Checkpoint 的总结。

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

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

3 、Text not displayed 。这个选项本质上就是一个结果取反的过程。就是把检查的结果给反过来,把 Pass 变成Fail ,Fail 变成 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 中出现控件调用, 那么必须确保该控件在相应的Action 的object repository 中是存在的.

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

 

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

A : 一个是代码你可以通过VSS 、CVS 等来进行管理;一个是通过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 ( ActiveX 、Visual 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 去调用它。

 

Q: 退出测试

ExitAction - 退出当前操作,无论其循环属性如何。
ExitActionIteration - 退出操作的当前循环。
ExitRun - 退出测试,无论其循环属性如何。
ExitGlobalIteration - 退出当前全局循环。

 

Q: 怎么关闭IE

code1:

Dim WinIe,Ie,k,m
X6VkLK[W S0 Set WinIe=descrīption.Create()51Testing软件测试网2CPRm Ui _o}d0aS(j
WinIe("micclass").value="Browser"  '所有页面的regexpwndtitle属性值都是" Microsoft Internet Explorer",也可以用其他 属性51Testing软件测试网~8_%xaY
Set Ie=desktop.ChildObjects(WinIe)
KT?A3f3l-a{0 m=Ie.count51Testing软件测试网b6vc;T| \
If  m>1 Then
&OQ6[!LJ'xp0         For k=0 to m-151Testing软件测试网9aX5^ _+y%C0Y-w
        Ie(k).close          ' 0为最后打开的一个,可关闭打开的几个,,循环改成for i=1 to m51Testing软件测试网b}J s1q4y4~"|"R)L7?
        Next
)EL|.H5i9\?r0 End If
.T{gdl0 Set ie = nothing

code2:

systemutil.CloseProcessByName "iexplore.exe"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值