51Testing软件测试论坛

标题: 求问使用VB如何获得QTP的安装路径? [打印本页]

作者: 小扁    时间: 2013-11-21 15:34
标题: 求问使用VB如何获得QTP的安装路径?
最近写的VB程序里面,希望实现一个功能,点击某个按钮后,打开QTP自带的查看报告的工具,所以需要用到QTP的安装路径,希望大神们能支个招~
有考虑过引入QuickTest自动化模型对象,但好像没有获得安装路径或打开查看报告工具的方法
还有考虑过通过读取注册表获得QTP安装路径,但QTP好像没有将安装信息写入到注册表中
作者: ermine    时间: 2013-11-21 17:10
回复 1# 小扁

1. 用AOM获取QTP的环境变量
    set qtapp=CreateObject("QuickTest.Application")
    msgbox qtApp.Test.Environment.Value("ProductDir")
    set qtapp=Nothing
   
2. 注册表里是有的, 你可以搜“QuickTest.Application”,会拿到QTAutomationAgent.exe的地址,然后就能获取QTP所在目录
我的64位机器
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{2B9B8E92-EBAA-44AF-A23C-9FBD08EAFA54}\LocalServer32]
@="\"F:\\Program Files (x86)\\HP\\QuickTest Professional\\bin\\QTAutomationAgent.exe\""
作者: 小扁    时间: 2013-11-21 19:49
回复 2# ermine


    两种我都试了下,第一种方法要启动QTP才能获取到,第二种我找了几遍都没找到写安装路径的注册表,还有没有别的办法呢T-T
作者: 小扁    时间: 2013-11-21 20:16
Private Sub Command_readreport_Click()
    Dim objShell As Object
    Dim qtpPath As String
    Dim reporterPath As String
    Set objShell = CreateObject("wscript.shell")
    qtpPath = objShell.regread("HKEY_CLASSES_ROOT\Applications\QTPro.exe\shell\open\command")
    MsgBox qtpPath
End Sub

提示说:无法打开注册表键值进行读取
作者: ermine    时间: 2013-11-22 09:24
回复 3# 小扁

第二种是QTP注册的组件地址,如果你能通过set qtapp=CreateObject("QuickTest.Application")启动QTP,理论上就应该有的。

3. 还是注册表
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mercury Interactive\QuickTest Professional\CurrentVersion]
"QuickTest Professional"="F:\\Program Files (x86)\\HP\\QuickTest Professional"

PS:我的机器是64位,如果是32位的机器,应该在
[HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive\QuickTest Professional\CurrentVersion](不确定)
作者: 小扁    时间: 2013-11-22 14:47
回复 5# ermine


    是这样的,我之前找错地方了,太谢谢了!已经成功的解决了问题




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2