QTP的那些事--web测试脚本不能录制的解决方法(个人整理未完待续)

本文详细解答了QTP在使用过程中遇到的各种问题,包括录制脚本失败、调试障碍、数据库访问、对象选择等,提供了具体的解决步骤和技巧。

问题起因:
在安装QTP后,正常录制QTP时,不能产生相应的录制脚本,脚本内容为空。

解决方法:QTP在IE中录制脚本是依靠一个叫BHOManager Class的动态链接库来完成的。当这个控件没有被加载,或者被禁用时,就会出现上述症状。于是,解决方法就很简单了,重新加载,或启用这个控件,一切就OK啦。

具体步骤:
打开IE,在菜单中选择[工具]/[Internet选项]进入Internet配置界面。选择[程序]/[管理加载项],查看目前加载的ActiveX的情况。

当看到存在BHOManager Class并且其状态是“禁用”时,点击“启用”开启这个功能,并保存后退出即可解决问题。
当在管理加载项里找不到BHOManger Class这个加载项时,如果你安装了QTP,那么在C:\WINDOWS\system32下会存在一个叫BHOManager.dll的动态链接库,或者可以直接在计算机里搜索BHOManager.dll,然后查看其路径。加载这个dll,加载方法为:点击[开始]/[运行],输入cmd,然后定位到dll所在目录,键入regsvr32 BHOManager.dll命令,即可注册此dll。问题解决。 以管理员身份安装软件

还不成功时候,控制面板\所有控制面板项\操作中心,更改用户账户信息,修改成从不通知

1. win7下DllRegisterServer的调用失败,错误代码为0x80070005

先找到 c:\WINDOS\SYSTEM32\cmd.exe(或从开始菜单中),右键--以管理员身份运行(关键),输入regsvr32 C:\Windows\System32\BHOManager.dll 回车

2. 以后问题都设置之后还是不能录制脚本

Object Spy的Tips

Hold the CTRL key to change the window focus or perform other mouse operations

QTP为什么无法单步调试? 安装Microsoft Script Debuger即可

QTP如何访问Oracle数据库?

Dim rs,sq,pkey

set conn=createobject("adodb.connection")

set rs=createobject("adodb.recordset")

需要安装Oracle客户端

conn.open "Provider=OraOLEDB.Oracle.1;Persist Security Info=False;User ID=scott;Data Source=orcl;Password=orcl;Extended Properties=;Host=192.168.1.188;Port=1521;Service Name=orcl;"

sql="SELECT * FROM TAB"

rs.open sql,conn

rs.MoveFirst

Do While rs.Eof<>true

Msgbox rs.Fields(0)

rs.MoveNext

Loop

rs.close

set rs=nothing

conn.close

set conn=nothing

如何全选所有WebCheckBox对象?

Dim oWebChkDesc

Set oWebChkDesc = Description.Create

oWebChkDesc("micclass").value = "WebCheckBox"

oWebChkDesc("html tag").Value = "INPUT"

获取所有匹配描述的对象

Dim allCheck, oCheckBox

Set allCheck = Browser("Web Tours").Page("Web Tours").ChildObjects(oWebChkDesc)

For i = 0 to allCheck.Count - 1

Set oCheckBox = allCheck(i)

oCheckBox.Set "ON"

Next

QTP9.2录制脚本问题:运行QTP,点击录制钮进行脚本录制,但是IE浏览器打开后几秒钟,又自动关闭了,不知道为什么?QTP9.2支持的IE浏览器版本:Microsoft Internet Explorer 6.0 Service Pack 1

Microsoft Internet Explorer 7.0

6、Action之间无法传递数组

用全局的Dictionary对象来存储数据,这样可以在多个Action之间共用数据参考:

http://blog.youkuaiyun.com/Testing_is_believing/archive/2010/01/08/5161955.aspx

http://blog.youkuaiyun.com/Testing_is_believing/archive/2008/06/09/2528094.aspx

也可以这样建一个vbs文件,定义变量,在Setting—>Resources导入这个VBS文件

在主Action里面 给变量赋值

在子Action中调用这个变量

这个变量的内存相当于共享

转载于:https://www.cnblogs.com/alterhu/archive/2012/02/14/2351182.html

读Excel文件中的计算式,调用计算器实现自动计算 【Dim aslen,t , iRowCount, iLoop, numAdd,xlApp, xlFile, xlSheet Set xlApp = CreateObject ("Excel.Application") Set xlFile = xlApp.Workbooks.Open ("c:\a.xlsx") Set xlSheet = xlFile.Sheets("Sheet1") iRowCount = xlSheet.usedRange.Rows.Count ‘计算Sheet1中已经填写的行数 For iLoop = 2 To iRowCount numAdd2 = xlSheet.Cells(iLoop,2) ‘读出Excel的第二列的内容 aslen=Len( numAdd2) For t=1 To aslen Select Case Mid(numAdd2,t,1) Case "1" Window("计算器").WinButton("1").Click Case "2" Window("计算器").WinButton("2").Click Case "3" Window("计算器").WinButton("3").Click Case "4" Window("计算器").WinButton("4").Click Case "5" Window("计算器").WinButton("5").Click Case "6" Window("计算器").WinButton("6").Click Case "7" Window("计算器").WinButton("7").Click Case "8" Window("计算器").WinButton("8").Click Case "9" Window("计算器").WinButton("9").Click Case "0" Window("计算器").WinButton("0").Click Case "+" Window("计算器").WinButton("+").Click Case "-" Window("计算器").WinButton("-").Click Case "*" Window("计算器").WinButton("*").Click Case "/" Window("计算器").WinButton("/").Click Case "=" Window("计算器").WinButton("=").Click Case "." Window("计算器").WinButton(".").Click Case "C" Window("计算器").WinButton("C").Click case else msgbox "input error" End Select Next Next Window("计算器").Close xlFile.Save xlFile.Close xlApp.Quit Set xlSheet = Nothing Set xlFile = Nothing Set xlApp = Nothing
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值