benny0823 发表于 2009-5-19 14:29:51

QTP 能否实现多线程

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

请教达人,是否QTP是不支持开多线程的??

fei.ge 发表于 2009-5-19 16:16:58

关注

jifeng 发表于 2009-5-19 16:18:03

貌似不支持

xiaoyaoke 发表于 2009-5-20 09:19:52

你的"监听程序"主要的目的是什么?

benny0823 发表于 2009-5-20 10:05:58

比如监视浏览器是否空闲,网页是否被关闭。
我知道可以通过浏览器RO的Busy等属性捕捉。但是想试试看能不能用2根线程实现,有点像VB的event,状态变化触发Sub。

mythxhg 发表于 2009-5-21 16:58:39

可以,不过建议你的线程要编写到DLL里,作为外部实例运行,脚本只负责与其通讯,典型的例子就是脚本调用COM了.
      你建立一个COM组件,然后里面提供2个线程的实现,
      然后你就可以在脚本里CREATEOBJECT这个COM,
      Dim xxx
      Setxxx=CreateObject("你的COM.启动线程的界面")
      xxx.启动线程1
      xxx.启动线程2
      你的脚本代码.......
      Setxxx = Nothing

xiaoyaoke 发表于 2009-5-21 18:31:43

其实我不知道理解的对不对,你的“监听程序”的作用是监视主进程的执行情况?

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

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

不知道能不能达到你的目的
页: [1]
查看完整版本: QTP 能否实现多线程