欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

QTP常见问题及解决办法 脚本VBASP.netVB.NETVBScript 

程序员文章站 2022-07-05 23:02:01
...

问:安装QTP的时候报这个错,是什么原因啊?“安装程序检测到您使用的pdm.dll版本存在问题。Microsoft已报告此版本DLL中存在错误。由于QuickTest Professional使用此DLL,建议您使用修复版本替换它。

  答:直接删掉PDM.DLL或者把它改个名字就可以了,还有就是象上面所说的下载它的新版本了。

  怕不保险的话把它备份一下,删的时候可能系统提示说正在被使用,删不掉,直接到安全模式下删就可以了。或者在别的计算机中,找到pdm.dll文件,覆盖你本机这个文件就可以了。

  问:QTP怎么识别不了日期控件阿?

  环境为asp.net,我已安装了.net插件,可是QTP能够识别日期控件的click事件,回放时,日期一栏却为空,请各位指点一下是怎么回事。

  答:启动时候的插件选项。实在认不出来,也可以使用虚拟对象。

  问:在QTP录制好脚本后,在Keyword view 点某一页面,总出现提示框.提示内容为"当前安全设置禁止运行该页上的ActiveX控制,因此,该页可能无法正常显示",请问在QTP中是否在哪里可以设置,将其提示去掉

  答:这个可以在QTP里面的TOOL---OPTIONS---active SCREEN----advanced..

  把LOAD active controls 这个打上勾就可以了。

  问:QTP中如何参数化link

  答:

Dim eleLink

Dim i,j,Links()

Browser("Browser").Page("Page").Sync

Browser("Browser").Navigate "bbs.51testing.com"

Browser("Browser").Page("测试论坛").Sync

Set objLinks=Browser("Browser").Page("测试论坛").Object.links

i=0

For Each eleLink In objLinks

If Ucase(eleLink.tagname)="A" Then

Links(i)=eleLink.InnerText

i=i+1

End If

Next

For j=0 To i

Browser("Browser").Page("测试论坛").Link("InnerText:=" & Links(j)).Click

Browser("Browser").Back

Next

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

  答:有三种方法,详细内容请看:http://www.51testing.com/html/82/n-218382.html

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

  答:脚本中原有RunAction "testbase [case1]", oneIteration

  把引号中的内容放到Global表中的第22行,然后将代码修改为:

datatable.getsheet("Global")

datatable.setcurrentrow(22)

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

RunAction strLogin, oneIteration

  help中也有相关帮助,如:

Syntax

RunAction ActionName, [IterationMode , IterationRange , Parameters]

ActionName : String : The name of the action

问:如何对下拉框中的数据进行参数化?

  答:参数化下拉框选项的两个方法)

  1.通过下拉框对应项的实际值查找!

  Browser("****").Page("****").WebList("****").Select "****”

  将select“****”的值参数化,可以将下拉框中的每一个选项都写到数据表中

  通过下拉框对应项的索引号查找

  Browser("****").Page("****").WebList("****").Select "#"&IndexNum

  比如说下拉框有5个选项)

  IndexNum = Int((5- 1 + 1) * Rnd + 1) 或 IndexNum = RandomNumber(1,5)

  以上代码生成1到5之间的随机数,5是上界,1是下界。

  问:录制过程无法识别对象?

  答:如果是没有相应程序的插件,而导致的对象不能识别,请填加相应的插件.如果是少量的几个控件不能识别的话,可以用合适类型的虚拟对象来代替.当然还有两个万能的办法,就是更改录制模式使用LOW-LEVEL Recording 和 Analog Recording来录制.

  问:无法生成脚本,但对象可以识别

  答:把对象手工添加到对象库中去,然后手工来生成需要的脚本

  问:QTP报告自动跳出,如何设置?

  答:在Options>Run>View results when run session ends。