51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

[原创] 求助高手:为什么用systemutil.run和invoke_application无法打开部分.exe文件

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-11-22 17:10:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用systemutil.run和invoke_application命令试图打开几个自己编写的程序,发现有些程序要么打开会报应用程序错误(说引用某段内存地址不能为read什么的),要么在.exe打开一半就自动退出(看到界面闪了一下就没了)。但我用Record and Run Setting直接加载打开的话,就全部能够正常打开,难道Record and Run Setting和systemutil.run打开的方式不同吗?
我的程序都会在初始化时加载视频捕捉卡,是不是这个引起的?或者说使用systemutil.run或invoke_application命令时,对打开的.exe文件本身有什么限制吗?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2012-11-22 19:40:16 | 只看该作者
以下建议是由浏览器开启异常的场景做出的类推,未必正确,仅供参考~

systemUtil.run是通过命令行的方式打开应用,如果你复制你的应用路径到【运行】窗口然后回车可以打开的话,那么使用QTP应该也可以打开。
①,如果可以通过运行打开。那么问题应该出现在你应用的启动过程上,在systemUtil.run这里设置个断点,打开进程管理器,在运行代码前中后多截几次图,与手工启动时的截图对比,看是否有进程异常(随应用异常启动和关闭的进程)。
②如果通过运行方式也打不开。那么研究一下你的应用启动方式吧。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2012-11-23 09:34:12 | 只看该作者
果然如楼上的高手所说,systemutil.run是通过命令行方式打开的,我在MS-DOS环境下运行我的程序,也报同样的错误,那问题应该是我的程序在初始化时,加载了一些windows的驱动吧,看来不大好解决啊。
不知道QTP有没有别的打开.exe的方式,可以在windows界面下直接打开.exe文件,不知道Record and Run Setting是怎么操作的,为什么这个就可以打开?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2012-11-23 10:43:19 | 只看该作者
将windows资源管理器和你在windows资源管理器中双击打开这个程序一起录制进来。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2012-11-23 11:18:30 | 只看该作者
将windows资源管理器和你在windows资源管理器中双击打开这个程序一起录制进来。
泰然 发表于 2012-11-23 10:43


LZ试一下泰然的方法,将打开应用的过程录制一下,QTP会自动生成一个SystemUtil的带参语句,可能存在特殊参数哦,你使用QTP生成的语句重新运行看是否报错
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-21 03:14 , Processed in 0.071848 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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