QTP使用技巧(2)

发表于:2014-09-15来源:uml.org.cn作者:不详点击数: 标签:qtp
check to see if the service is stopped If (objService.Status = ADS_SERVICE_STOPPED) Then if the service is stopped, then start it objService.Start End If将它以 startsvc.vbs 为名保存在 C: 盘

  ' check to see if the service is stopped If (objService.Status = ADS_SERVICE_STOPPED) Then ' if the service is stopped, then start it objService.Start End If将它以 startsvc.vbs 为名保存在 C: 盘根目录。并通过如下命令执行:Cscrīpt C:\STARTSVC.VBS.运行后,经你指定的 IIS 服务项将被重新开启。

  其实,在 Windows 的 samples 目录下,有个 WSH 文件夹,那里面有不少很具代表性的 .vbs 和。 js 脚本文件。

  此外,利用 WSH 还可以自己编写脚本文件来提高网络管理方面的效率。

  8.从 EXCEL 中导出数据进行测试datatable.AddSheet("51sheet")

  datatable.ImportSheet "f:\test.xls","testsheet","51sheet" Dim i,RowCount ' 定义两个变量i=0 RowCount=datatable.GetSheet("51sheet")。GetRowCount ' 设置 RowCount 等于 51sheet 中的行数。

  msgbox RowCount Do while i

  datatable.getsheet("51sheet")

  datatable.setcurrentrow(i)

  ' 执行过上面两句后, CurrentRow 是第一行。

  tempData=DataTable.GetSheet("51sheet")。GetParameter("Name")。

  Value ' 现在,我们调用 msgbox 看看下面这种调用方法得到的是什么值?没错,是第一行的值,下一次循环呢?

  ' 得到的是第二行的值么?

  msgbox "GetParameter-Name:"&tempData ' 这里弹出我们要看的值。

  ' 下面我们用另外一种方法来得到。

  msgbox "GetParameter-i:"&DataTable.GetSheet("51sheet")。GetParameter(1)。Value ' 这里我用 GetParameter(1) 去得到 sheet 中第一列的值。

  loop 9.关于 dtGlobalsheet 与 dtLocalsheet 1) dtGlobalsheet 只有一个,它的 index 值比较特殊,它有两个 index 值,一个是 1 还有一个是内置的默认的 1000 .你可以用 1 或者 1000 去引用它都是正确的。当然了,如果你用 dtGlobalsheet 来引用它也是正确的。这个 sheet 的 Name 叫做 "Global" .注意: SheetName 是区分大小写的。

  2) dtLocalsheet 可以用 index:1001 来引用,当然,也可以用 2 来引用。至于其它自定义的 sheet 嘛,你就只能用 index:3 来引用了。

  它没有内置的默认的类似前两个那样的 index 值。

  3) datatable 这个对象只有一个。就是所有 sheet 的集合。或许你把它理解为 excel 文件比较好。

  dtsheet 呢?就是其中的每个 sheet .所不同的就是 MI 为他们做了一些默认值。在我们的应用中,可能会有多个 action, 如: actiion1,actiion2,actiion3这些 action 也分别对应有各自默认的 LoaclSheet. 即: actiion1 , actiion2 , actiion3 .如果每个 action 中,我们都只用到一个 sheet ,那就好办了,在每个 action 中都可以用 localsheet 来引用,但是如果我们有两个及两个以上的 sheet. 那么就比较容易乱套了。

  10.移动当前位置的行For i=1 to 3 datatable.getsheet("Global")

  datatable.setcurrentrow(i)

  DataTable("C","Global") = DataTable("nodename","Global") ‘把表Global中的nodename字段中的内容取出来。

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

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

  2)想得到图片的校验码,唯一的方法就是跟程序员拿程序,然后自己在脚本里面写FUCNTION!

  其它就要手动输入了!

  13. 自动测试实施计划1)分析实施自动化测试可能存在的风险:就是决定是否实施, 用成本 时间 效果 ……

  2)制定实施的时机:也就是在什么阶段3)研究所要测试的功能 性能4)分析在测试中可能遇到的问题 和困难5)预估所需要的人时和相应的硬件7)确定负责人员和相关测试人员6)制定详细的测试计划 方案7)最后是执行计划14. 一个Action里如何调用在另一个Action中定义的函数、过程(或变量、常量)

  例如:

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

  'Action_A Public strURL…… ……

  Function QueryList()

  …… ……

  …… ……

  End Function

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

原文转自:http://www.uml.org.cn/Test/200905216.asp