QTP网上收集的一些小技巧

51testing 针对新人做的一个专题:http://www.51testing.com/zhuanti/newtestor.html
2012-04-04
1:在测试脚本运行期间,要停止脚本的快捷键是CTRL+ALT+F5.
2:快速设置脚本回放模式的语句(实际用的较多):Setting.WebPackage("ReplayType")=2/1
  2,鼠标光标跟踪模式,1,代表事件跟踪模式。
3:如何快速切换到complete word模式下进行编写脚本?方法: QTP->EDIT->ADVANCED->COMPELETE WORD.
4:QTP代码换行符是底线"_"
5:ALT+G(快速定位当前代码中关于所要查看的FUNCTION的定义)是快捷键
  手动查找是在菜单栏->Edit->Advanced->Go to Function Definition
6:Ctrl+Shift+Space快捷键

  位置:依次选择QTP上方菜单栏→Edit→Advanced→Argument Info。

  在方法后往往需要设置一些参数,但是那么多参数难道都去背下来吗?显然不用,QTP会自动提示该方法的参数,
7: with...end with在QTP的用法
百度首页嵌套在51Testing首页中

With Browser("51Testing软件测试网").Page("51Testing软件测试网")

     .WebButton("WebButton").Click

     .WebEdit("password").Set "Yu Jie"

     .WebEdit("username").Set "Jerome Yu"

     With Browser("百度一下,你就知道").Page("百度一下,你就知道")

          .WebButton("百度一下").Click

          .WebEdit("wd").Set "QTP自动化测试技术领航"

     End With

End With


'百度首页 -- 提炼其他公共部分

With Browser("百度一下,你就知道")

     .Page("百度一下,你就知道").WebButton("百度一下").Click

     .Page("百度一下,你就知道").WebEdit("wd").Set "QTP自动化测试技术领航"

End With
8.QTP中隐藏保留对象的介绍:
    1 webutil
    
等等 这些保留对象在帮助文档中没有作说明,但其肯定有保存的位置,他保留在注册表中.
位置在HKCU->software->mercury interactive->QuickTest Professional->MicTest->Reserved Objects下.

9.自动化模型对象:
  AOM
   简单的创建AOM模型的例子:
   
A:vbscript 
   dim qtApp
   set qtApp=createobject("QuickTest.Application")'创建对象
   qtApp.Launch 'Start QuickTest
   qtApp.Visible=True'设置为可见
B:vb调用方式
dim qtApp As QuickTest.Application'申明AOM对象
Set qtApp=new QuickTest.Application'创建AOM对象
qtApp.Launch'启动QTP
qtApp.Visible=True'设置为可见

C:c#调用方式
QuickTest.Application app=new QuickTest.Application();//创建QTP对象
app.Launch();//启动QTP
app.Visible=True;//让QTP可见

D:javascript调用方式
var qtApp=new ActiveXObject("QuickTest.Application");//创建AOM对象
qtApp.Launch();//启动QTP
qtApp.Visible=true//设置为可见.

如图1-204所示,点击Run-Time Data Table以后,可以看到脚本在运行过程中所使用的所有数据记录,分别是test1、test2、test3。到此,大家应该没有任何疑问了吧?的确是运行了3次业务,切实地输入了各不相同的测试数据。想知道这些测试数据哪里来的吗?答案现在正式揭晓,如图1-205所示。

图1-205

  有没有似曾相识的感觉?在上一个小节中的实例就已经和它打过交道了,它就是QTP的Data Table。请大家注意当前脚本使用的是Global Sheet而不是Local Sheet!在“关键字输入”这一列中输入了3行测试数据,这就是实际运行时输入的数据。

  测试数据是怎么来的,我们已经搞清楚了。但是相信读者现在一定还有另外一个疑问,那就是QTP为什么会执行3次,脚本中并没有做任何循环!这就要引出本小节内容的第一个知识点了。

  1.Global Sheet是一个全局变量!有几行数据,程序就要回放几次

  所以,这也就很清楚地解释了为什么QTP运行了3次,就是因为当前的Global Sheet中有3行测试数据。第1次执行使用第一行数据test1,第二次执行使用第二行数据test2,第三次执行使用第三行数据test3,依此可以一直类推下去。

  现在设置了3行测试数据,这些数据不一定是我们每次都需要的,那该怎么办?删除它们?等需要了再添加?那多麻烦。QTP提供了一个很有用的功能,那就是Data Table iterations设置,先来认识一下它,调用它的方法如下。

  QTP上方菜单栏→File→Settings→Run打开后的结果如图1-206所示。

图1-206

  如图1-206所示,这就是Data Table iterations设置界面,默认选中的是Run on all rows(图中标记2),即DataTable中有几行数据就运行几次,刚才的实例根据业务要求设置了3行数据,所以它会去运行3次。在很多情况下,自动化测试数据只需要1个,那么此时就可以选中Run one iteration only这个选项(图中标记1),这样就完全可以不必去删除本次不会用到的业务数据了。最后一个选项(图中标记3)叫Run from row X to row Y,这个也非常好理解,就是设置一个范围,QTP就会根据设定的范围进行迭代运行,当然,千万不要将范围超出最大的范围(在本实例中最大范围是3)。到此,就要引出另一个知识点了。

  2.Global Sheet这个全局变量是受Data Table iterations控制的

  那么,读者要问了:“现在Global Sheet和Local Sheet都通过实例讲解过了,那它们之间有什么区别呢?”让我们再次引出另一个知识点。

  3.Local Sheet是个局部变量,它并不受Data Table iterations控制,无论有多少行数据,它只运行一次(前提是Global Sheet没有数据,或只有一行数据,或设置为只运行一次)

  让我们来看一个实例,把Global Sheet的数据都清空,然后在Local Sheet中建立3行测试数据,如图1-207和图1-208所示。


个人VBS脚本编写的总结:
  1:如何调用一个过程呢?
     将过程写好后,加入一句:"call 过程名"即可.

QTP中一些脚本块进行注释时,用快捷键“ctrl+M”,取消注释用快捷键“ctrl+shift+M"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值