51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

求助:如何用Sys_Execute()打开cmd.exe?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-9-3 17:01:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题!
用Sys_Execute(cmd.exe)并不能看到cmd的窗口。
如果用Sys_Execute(start cmd.exe)则脚本执行到此句就不往下执行了!
请问如何操作才能看到cmd的窗口呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2008-9-8 10:22:41 | 只看该作者
自己先顶一下
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-9-9 17:03:37 | 只看该作者

lz这里是要模拟command consle的操作吗?

如题。

lz这里的测试需求是要强制性的模拟,command consle的操作吗?(比如,开始菜单|运行|cmd|操作……)

lz这里,sys_execute()是调用的api的,所以必须有返回值,如果没有返回值的话,那st是会一直停在那里的,
所以,楼主看到的可能是这个现象,这个是正常的。

lz如果不是强制性的要录制command consle的操作,lz可以试试shell的脚本吗?
/* code dummy */

[-] dll "shell32"
        [ ] int ShellExecuteW (int hwnd, String lpOperation, String lpFile, string lpParameters,String lpDirectory, int nShowCmd)
[ ]
[-] testcase DevMan() appstate none
        [ ] INTEGER iHandle      = Desktop.GetHandle()
        [ ] STRING  lpOperation  = "open"
        [ ] STRING  lpFile       = "cmd.exe"
        [ ] STRING  lpParameters = " "
        [ ] STRING  lpDirectory  = "c:\windows\system32"
        [ ] INTEGER iShowCmd     = 5
        [ ]
        [ ] ShellExecuteW (iHandle,lpOperation,lpFile,lpParameters,lpDirectory,iShowCmd)
[ ]
/* end code dummy */

lz看看,上面这个方法可以吗?shell的参数,lz可以参考msdn或者其他资料。
希望有帮助。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-9-9 17:08:46 | 只看该作者

lz能尝试用shell试试看吗?

如题。

lz这边因为sys_execute ()函数是必须要返回值的,
所以,在没有返回值的情况下,lz就会看到st停滞的现象。

lz能尝试使用shell吗?
/* Code Dummy */
[-] dll "shell32"
        [ ] int ShellExecuteW (int hwnd, String lpOperation, String lpFile, string lpParameters,String lpDirectory, int nShowCmd)
[-] testcase DevMan() appstate none
        [ ] INTEGER iHandle      = Desktop.GetHandle()
        [ ] STRING  lpOperation  = "open"
        [ ] STRING  lpFile       = "cmd.exe"
        [ ] STRING  lpParameters = " "
        [ ] STRING  lpDirectory  = "c:\windows\system32"
        [ ] INTEGER iShowCmd     = 5
        [ ]
        [ ] ShellExecuteW (iHandle,lpOperation,lpFile,lpParameters,lpDirectory,iShowCmd)
[ ]
/* End Code Dummy */

希望有帮助。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-9-9 22:08:48 | 只看该作者

SYS_Execute("start cmd.exe") 可以看到命令窗口

当你关闭了命令窗口就可以往下执行了
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-9-15 16:03:11 | 只看该作者
告诉你个简单的办法
silktest 有个框架文件 bwcompat.inc
use " bwcompat.inc"
testcase startCMD() appstate none
  APP_Start("CMD")
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-9-17 16:49:17 | 只看该作者
再简单点,我们手工怎么打开就让SilkTest怎么做就可以了
        [ ] Taskbar.TypeKeys ("<LeftWin-r>")
        [ ] DialogBox("Run").ComboBox("#1").SetText ("cmd")
        [ ] DialogBox("Run").TypeKeys ("<Enter>")
Taskbar是内建的对象可以直接用的,你可以把它定义在你的框架中。。。。




Harold_zou
个人博客http://zou-hailong.blogspot.com
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2008-9-17 16:58:00 | 只看该作者
呵呵 大家方法都不错 我也提供一个方法
http://www.lantianwei.com/LTtopic.aspx?topicid=46
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2008-10-6 15:04:24 | 只看该作者
多谢大家的帮忙!!! 接下来我会一一实验!!!感谢~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2008-12-1 15:24:25 | 只看该作者

使用情况

各位提供的方法都能解决问题。
其中jmy_1981的方法除了适用于cmd.exe之外,还可用来打开其他文件夹下的exe文件。
kettleyang提供的方法更为便捷。
多谢各位的帮忙
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-25 16:33 , Processed in 0.074970 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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