51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2839|回复: 6
打印 上一主题 下一主题

[原创] 【QTP 访问远程文件代码片】

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-10-9 19:19:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Public Function  Log_in(ip,user,pw)
   Dim oShell
   Set oShell = CreateObject ("WSCript.shell")
   oShell.run  ip
   Set oShell = Nothing
   wait (2)
   If Dialog("nativeclass:=#32770","index:=0").exist(1) Then
        Dialog("nativeclass:=#32770","index:=0").WinEdit("nativeclass:=edit","index:=1").set  user
        Dialog("nativeclass:=#32770","index:=0").WinEdit("nativeclass:=edit","index:=2").set  pw
        Dialog("nativeclass:=#32770","index:=0").WinButton("nativeclass:=Button","index:=0").click
   End If
End Function

这个是远程登陆的代码片,要用的话,Log_in "\\192.168.1.1","admin","admin"
里面只做到了简单捕获对话框Dialog而已,如果有具体情况,还需要大家把这个片断去完善。
因为MSN群里的热心朋友问到这个问题,而采用的是sendkeys的方法,个人不推荐使用这个,所以写写普及下。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-10-10 11:08:53 | 只看该作者
LZ,有两个问题。

1.Set oShell = CreateObject ("WSCript.shell")好像有错。
应该是:Set oShell=Wscript.CreateObject ("WSCript.shell")

2.其次,好像不能在QTP中运行WSH,因为QTP没有封装相应的方法。所以也就无从用起描述性编程了的好处了。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-10-10 19:14:28 | 只看该作者
谢谢楼上的回帖。
你和我说的这2个问题,都用了“好像”,很谦虚。哈哈
你打开QTP把代码粘贴进去,运行看看就可以了,谢谢。
1.Set oShell = CreateObject ("WSCript.shell")好像有错。
应该是:Set oShell=Wscript.CreateObject ("WSCript.shell")

2个写法都是可以的。

2.其次,好像不能在QTP中运行WSH,因为QTP没有封装相应的方法。所以也就无从用起描述性编程了的好处了。

QTP没封装但QTP支持VBS这点就足够了。还有最后一句话,我不是哪么理解你说的意思。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-10-13 14:26:34 | 只看该作者
其实不是谦虚,我也有很多不懂的地方。
对于QTP,如果这样写:Set oShell=Wscript.CreateObject ("WSCript.shell")
QTP会报错误信息的,
但是这样写:Set oShell=CreateObject ("WSCript.shell")
QTP就不会报错。

其次,把这段代码放到QTP中运行,还是给我一个报错信息:
General Run Error的消息框。(在运行oshell.run ip的时候)

Log_in "150.245.167.75","user","123456"

Public Function  Log_in(ip,user,pw)
   Dim oShell
   Set oShell =CreateObject ("WSCript.shell")
   oShell.run  ip
   Set oShell = Nothing
   wait (2)
   If Dialog("nativeclass:=#32770","index:=0").exist(5) Then
        Dialog("nativeclass:=#32770","index:=0").WinEdit("nativeclass:=edit","index:=1").set  user
        Dialog("nativeclass:=#32770","index:=0").WinEdit("nativeclass:=edit","index:=2").set  pw
        Dialog("nativeclass:=#32770","index:=0").WinButton("nativeclass:=Button","index:=0").click
   End If
End Function
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2008-10-13 22:24:00 | 只看该作者
因为你调用错了,写少了“\\”
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-10-14 10:29:18 | 只看该作者
看来我犯了常识性的错误 ,qtp的报错我有点看不懂了。

我们一般对于远程的机器的文件拷贝,例如Daily Build,一般使用systemutil.run方法调用。
不过两种方法都不错。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2008-10-14 11:09:13 | 只看该作者
哈哈,人总会有犯错的时候。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-20 15:26 , Processed in 0.069679 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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