51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3412|回复: 4
打印 上一主题 下一主题

[原创] 关于QTP自动对象模型的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-9-25 16:47:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大虾!小弟有一问题请教!用外部的程序去自动调用qtp并且设置一些测试属性和调用一些action后自动测试,这些是qtp的automation object model所支持的操作!

     但小弟用vc++6.0创建了一个Win32 Console Application的项目,并且写了如下code:

// qtp.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#import "QTObjectModel.dll"

int main(int argc, char* argv[])
{
        QuickTest::_ApplicationPtr spApp; // Declare the application pointer
       
        spApp.CreateInstance("QuickTest.Application"); // Create the application object

        spApp->Launch();// Launch the application

        spApp->Visible = VARIANT_TRUE; // Make it visible
       
        return 0;
}

编译通过,但是一实行程序就down了,debug之后知道,变量spApp在createInstance之后,指针的值是0x00000000,所以会down!
我并不知道为什么会这样,请各位大虾,不吝赐教!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-9-25 17:10:39 | 只看该作者
这里放个vbscript脚本,建议参考一下帮助,里面介绍了很多例子,并付有代码
Dim qtApp ' As QuickTest.Application ' 声明 Application 对象变量
Dim qtTest 'As QuickTest.Test ' 声明 Test 对象变量
Dim qtResultsOpt 'As QuickTest.RunResultsOptions ' 声明 Run Results Options 对象变量

Set qtApp = CreateObject("QuickTest.Application") ' 创建 Application 对象
qtApp.Launch ' 启动 QuickTest
qtApp.Visible = True ' 使 QuickTest 应用程序可见

' 设置 QuickTest 运行选项
qtApp.Options.Run.CaptureForTestResults = "OnError"
qtApp.Options.Run.RunMode = "Fast"
qtApp.Options.Run.ViewResults = False

qtApp.Open "C:\Tests\Test1", True ' 以只读模式打开测试

' 为测试设置运行设置
Set qtTest = qtApp.Test
qtTest.Settings.Run.IterationMode = "rngIterations" ' 仅运行循环 2 到 4
qtTest.Settings.Run.StartIteration = 2
qtTest.Settings.Run.EndIteration = 4
qtTest.Settings.Run.OnError = "NextStep" ' 指示 QuickTest 在发生错误时执行下一步骤

Set qtResultsOpt = CreateObject("QuickTest.RunResultsOptions") ' 创建 Run Results Options 对象
qtResultsOpt.ResultsLocation = "C:\Tests\Test1\Res1" ' 设置结果位置

qtTest.Run qtResultsOpt ' 运行测试

MsgBox qtTest.LastRunResults.Status ' 检查测试运行的结果
qtTest.Close ' 关闭测试

Set qtResultsOpt = Nothing ' 释放 Run Results Options 对象
Set qtTest = Nothing ' 释放 Test 对象
Set qtApp = Nothing ' 释放 Application 对象

[ 本帖最后由 xiaonan 于 2006-9-25 17:13 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2006-9-25 17:15:47 | 只看该作者
谢谢!不过用vbscript肯定是可以的,我也试过了,不过我就是想用c++来试。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-4-1 15:23:47 | 只看该作者

回复 3# 的帖子

你现在找到办法了吗?
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-4-1 15:57:33 | 只看该作者
如果声明的spApp是指针,那么它应该指向一个new后的对象。并且调用成员应该用-〉。
不知道LZ这段代码是有部分依据还是想当然这样做?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-9-21 00:40 , Processed in 0.070681 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表