51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1842|回复: 9
打印 上一主题 下一主题

[原创] QTP CODESAMPLE PLUS里的代码放到qtp里无法执行

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-2-14 10:54:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
主要是下面加粗的部分,要在QTP里怎么写,不能直接写WSCRIPT
Dim Controller, RemoteScript
Set Controller = CreateObject("WSHController")
Set RemoteScript = Controller.CreateScript("test.js", "remoteserver")
WScript.ConnectObject RemoteScript, "remote_"
RemoteScript.Execute

Do While RemoteScript.Status <> 2
    WScript.Sleep 100
Loop

Sub remote_Error
    Dim theError
    Set theError = RemoteScript.Error
    WScript.Echo "Error " & theError.Number & " - Line: " & theError.Line & ", Char: " & theError.Character & vbCrLf & "Description: " & theError.Description
    WScript.Quit -1
End Sub
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-2-15 22:52:02 | 只看该作者
必须用createobject语句创建一个wscript的对象.因为wcript是windows的对象,如果是在windows的vbs文件中那样写是没问题的,但是qtp中并没有wscript对象,因此不能直接调用wscript.包括下面的sleep句也是,楼主的代码中所有涉及到形如"wscript. "的代码,都建议修改成createobject语句创建对象,然后由这个对象来进行调用
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-2-16 08:36:06 | 只看该作者
但是现在的问题是用createobject创建的对象里并没有诸如ConnectObject 、Sleep、Echo、Quit
这样的方法阿
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-2-16 09:12:17 | 只看该作者
set wsh = CreateObject("WshScript") '双引号里的东西怎么写我忘了
wsh.ConnectObject RemoteScript, "remote_"
wsh.Sleep 100
wsh.Echo "Error " & theError.Number & " - Line: " & theError.Line & ", Char: " & theError.Character & vbCrLf & "Description: " & theError.Description
也就是说不直接调用Wscript对象,而且创建一个对它的引用,然后调用相关的方法
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2009-2-16 10:30:57 | 只看该作者
你真的试过?
你把下面这段代码放到QTP里,你看点不点的出我所说的那些方法。。。

set wsh = CreateObject("Wscript.Shell“)
wsh.ConnectObject RemoteScript, "remote_"
wsh.Sleep 100
wsh.Echo "Error " & theError.Number & " - Line: " & theError.Line & ", Char: " & theError.Character & vbCrLf & "Description: " & theError.Description

这不是想当然的,只有亲自试过才能给肯定的答复
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-2-16 14:19:13 | 只看该作者
论坛里很多问题我相信参与讨论的人都没法亲自去试一遍,很多时候大家都是提出各自的想法或者思路。而至于我写的那些代码可以明确的说不是我的想当然,以前无论是51还是在csdn里都讨论过这个问题,至于放到qtp里能不能点出你的那些方法,那需要看看wscript是不是qtp内置的对象,VBS里很多对象你在QTP里敲代码的时候,都点不出他们相应的方法,但是放到一些vbs编辑器里就可以。
至于其他肯定的答复我是给不出来,本人水平也不是很高,听听其他人的高见吧。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2009-2-16 14:24:37 | 只看该作者
虽然还是没答案,不过还是谢谢了

希望有人能给个明确的答复
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2009-2-16 16:19:59 | 只看该作者
http://bbs.51testing.com/viewthr ... &extra=page%3D1
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2009-2-16 16:21:12 | 只看该作者
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2009-2-16 16:47:01 | 只看该作者
WScript.ConnectObject方法是用ConnectObject代替
WScript.Echo方法不支持,用Msgbox代替
WScript.Quit方法不支持,用ExitTest或者ExitRun代替
WScrpt.Sleep方法不支持,用Wait代替
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-28 06:55 , Processed in 0.077211 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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