QTP无法识别第三方控件问题
公司开发的系统基本上都是用第三方控件的,用QTP去识别对象出来的全是 WinObject的,像这种情况,要如何进行脚本的录制与编写啊,初来咋到,向各位高人求助啊 如果是这样的话,有一个好的建议是让QTP使用将autoit的dll的接口辅助实现会更好一些 如果是这样的话,有一个好的建议是让QTP使用将autoit的dll的接口辅助实现会更好一些lewis3p77 发表于 2013-7-23 18:10 http://bbs.51testing.com/images/common/back.gif
能介绍一下怎么使用吗? 一、注册DLL文件
注册AutoItX3.dll 文件在XP X86和WIN7 X86系统中 只需要运行X:\autoit3\AutoItX\注册DLL.CMD 就可以将DLL文件注册到计算机中。 WIN7 X64环境下需要将X:\autoit3\AutoItXAutoItX3_x64.dll和AutoItX3.dll 分别拷贝到C:\Windows\System32 和 C:\Windows\SysWOW64 下面进行注册。
regsvr32 "C:\Windows\System32\AutoItX3_x64.dll"
regsvr32 "C:\Windows\System32\AutoItX3.dll"
regsvr32 "C:\Windows\System32\AutoItX3_x64.dll"
regsvr32 "C:\Windows\SysWOW64\AutoItX3.dll"
二、在QTP中使用Autoit的基本方法
首先需要使用 CreateObject 方法创建 AutoItX3.Control的对象创建事例:
Set Autoit = CreateObject("AutoItX3.Control")
使用Autoit的方法事例1:
Call Autoit.Run ("Explorer /select, " & Parameter("EncFilePath"))
Call 使用Call关键字调用要求参数的过程,则必须用括号将传递给过程的变量括起来。
Autoit.Run Autoit是使用CreateObject 方法定义的对象名称 .Run 为Autout官方提供的方法名称。
("Explorer /select, " & Parameter("EncFilePath")) 是Autoit.Run 变量需要传递的参数列表。
使用Autoit的方法事例2:
Autoit.Sleep 1000
Autoit.Send "{ENTER}"
事例2 上介绍的两个Autoit的方法没有是Call,因为Sleep和Send 这两个函数不需要传递参数,所以建议不加上Call。
使用Autoit的方法事例3:
Set Autoit = CreateObject("AutoItX3.Control")
Call Autoit.Opt ("WinTitleMatchMode", 2)
EncFilePath = Parameter("EncFilePath")
fileName = Split(EncFilePath, "\")
Call Autoit.Run ("Explorer /select, " & Parameter("EncFilePath"))
Autoit.Sleep 1000
Autoit.Send fileName(UBound(fileName))
Autoit.Send "{ENTER}"
Call Autoit.WinClose ("")
Set Autoit = Nothing
事例3中为一个完整的QTP使用Autoit的脚本事例,当我们定义Set Autoit = CreateObject("AutoItX3.Control") 后,在我们不使用Set Autoit 需要Set Autoit = Nothing这样可以释放内存和系统资源。 回复 1# ashley1314
什么语言开发的? 回复 5# user603
用的.net,这个问题已经解决了,我安装了.net的插件破解后,就可以识别对象了
页:
[1]