51Testing软件测试论坛

标题: QTP 能否实现多线程 [打印本页]

作者: benny0823    时间: 2009-5-19 14:29
标题: QTP 能否实现多线程
如题
比如,在执行一个脚本的时候,同时有一段代码实现**的作用。 那么主测试程序和这个监听程序通过2个线程并发实现。
我找了个开多线程的DLL,注册后编码运行。发现,在VbsEdit中可以运行,但在QTP9.5中会报错并强制退出。“QuickTest Professional 遇到问题需要关闭。我们对此引起的不便表示抱歉。如果您正处在进程中,资料可能丢失。”

请教达人,是否QTP是不支持开多线程的??
作者: fei.ge    时间: 2009-5-19 16:16
关注
作者: jifeng    时间: 2009-5-19 16:18
貌似不支持
作者: xiaoyaoke    时间: 2009-5-20 09:19
你的"监听程序"主要的目的是什么?
作者: benny0823    时间: 2009-5-20 10:05
比如监视浏览器是否空闲,网页是否被关闭。
我知道可以通过浏览器RO的Busy等属性捕捉。但是想试试看能不能用2根线程实现,有点像VB的event,状态变化触发Sub。
作者: mythxhg    时间: 2009-5-21 16:58
可以,不过建议你的线程要编写到DLL里,作为外部实例运行,脚本只负责与其通讯,典型的例子就是脚本调用COM了.
        你建立一个COM组件,然后里面提供2个线程的实现,
        然后你就可以在脚本里CREATEOBJECT这个COM,
        Dim xxx
        Set  xxx  =  CreateObject("你的COM.启动线程的界面")
        xxx.启动线程1
        xxx.启动线程2
        你的脚本代码.......
        Set  xxx = Nothing
作者: xiaoyaoke    时间: 2009-5-21 18:31
其实我不知道理解的对不对,你的“监听程序”的作用是监视主进程的执行情况?

如果是这样的话,那完全可以通过自定义error的方式来实现,将你认为的“主进程”写成函数的方式,在你认为会出现问题的地方raise一个自定义的error

然后执行的时候外面套一个on error resume next。

不知道能不能达到你的目的




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