51Testing软件测试论坛

标题: 用vb通过自动化接口打开qtp,qtp经常崩溃,怎么办 [打印本页]

作者: volvoo    时间: 2007-9-5 17:17
标题: 用vb通过自动化接口打开qtp,qtp经常崩溃,怎么办
最近正在编写自动化测试框架,开发工具vb,通过vb把已经存在的测试用例存放在列表中,
为了获取参数,一次打开一个action,反复打开几个ACTION后,总是崩溃,界面 见附件
大家有没有遇到这种情况,如果规避啊
作者: yabest    时间: 2007-9-5 17:28
贴上代码!!!
作者: volvoo    时间: 2007-9-5 17:51
就是简单 open MYACTION,如此调用多次,就崩溃了
作者: yabest    时间: 2007-9-5 17:56
不知道你的open MYACTION是啥样的sdlkfj8
作者: hsjzfling    时间: 2007-9-5 17:57
建议最好贴上代码,方便大家帮你一起分析问题~
作者: rivermen    时间: 2007-9-5 17:58
估计是你的机器系统问题
索性来个彻底的,重装系统,和QTP

btw:你的机器配置如何?
作者: volvoo    时间: 2007-9-5 17:59
testpath = strFolder + "\" + strCaseName
qtApp.Open (testpath)               
这就是代码,大家帮我分析分析
作者: volvoo    时间: 2007-9-5 18:01
不是计算机的问题,我在几台计算机上运行,都是这样
是不是qtp本身的问题,有通过自动化接口控制qtp的朋友吗?
作者: yabest    时间: 2007-9-5 18:19
干嘛这么小气啊sdlkfj8
作者: 423799223    时间: 2007-9-5 18:56
代码舍不来拿出来看
在这里叫啥叫
作者: hsjzfling    时间: 2007-9-5 21:11
就这么简单的两句么。。。连qtApp.Test.Run 都没有?
那只能推测也许你是没加
qtApp.Close
set qtApp = nothing
从而导致多次运行会报错。。。
作者: volvoo    时间: 2007-9-6 09:16
423799223
请你礼貌点,有点基本素质好不好,贴上万行代码有用吗,出问题的代码就2句,没有水平别乱说话。
其他辅助代码没有问题,
作者: volvoo    时间: 2007-9-6 09:26
标题: 回复 #11 hsjzfling 的帖子
应该不是 qtApp.Close
set qtApp = nothing 这么做的,这样做相当于每次打开一个测试用例,都需要开开关一次qtp,实际情况应该是,启动一次qtp,不关闭qtp的情况下,可以反复多次打开不同的测试用例
作者: danmy    时间: 2007-9-6 09:28
问题是单独看这两句代码也没有问题,提问信息不全,还问个什么劲啊?那就自己埋头上网找资料好了。我现在也是用的vbs调用自动化接口跑testcase,顺得很
作者: hsjzfling    时间: 2007-9-6 09:31
楼上也不能那么说的,如果你已经写过了qtApp.Close
set qtApp = nothing等语句,那么我11楼的帖子也就不用发了。
还有,如果你的代码中如果不是单纯执行Action,而还有些其它操作,也可能会导致再次运行出错。注意,因为你不是第一次RUN你写的那两句就会报错,说明问题不一定就在这里。
建议楼主斟酌下还有哪些代码是相关的
还有,你说的打开多个Action会出错,是指两个还是两个以上呢?
作者: volvoo    时间: 2007-9-6 09:40
我什么都没有作,也没有运行TESTCASE,就是反复利用上面2句话打开不同的testcase,代码要怎么贴???,大家如果遇到那个图片的情况就说说,没有遇到就算了,我一直不理解,贴上一堆垃圾代码有什么用,都是vb界面的东西,与QTP相关的就这2句,算了,结贴,感谢中肯建议的同志,某些胡说八道的水平低劣的一遍站
作者: yabest    时间: 2007-9-6 10:07
唉。。。sdlkfj8
作者: milan330330    时间: 2007-9-6 10:19
多么深奥的框架啊~~~
作者: winfood    时间: 2007-9-6 10:42
除了那两句代码以外,还应该检查一下其他的QTP相关代码。有时候上下文中也能看出问题来,比如加载和卸载QTP。

估计LZ现在的做法是加载了QTP以后,依次打开多个Test,最后卸载QTP。自动化调用QTP时,QTP在内存中未必很安全。
11楼提的建议值得尝试一下,即每次打开一个Test的时候都进行一次QTP的加载和卸载。通过比较,也许会发现问题。
作者: volvoo    时间: 2007-9-6 11:07
标题: xiexie
谢谢 winfood  hsjzfling 等兄弟的建议,
我解决了,原因是因为通过com接口控制qtp,qtp打开一个action速度太慢,而vb脚本运行速度过快,导致两个进程失步了,用到的对象还没有准备好,就出现问题了
作者: guijia8427    时间: 2007-9-10 10:32
用VBS确实简单很多 调用也很方便




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2