tags:

views:

62

answers:

4

I want to shutdown QTP which is invoked through Wscript.exe. Please suggest . Thanks in advance

A: 

taskkill.exe /IM qtp.exe

Albert Gareev
It did not work :(
Ankita
+1  A: 

I used these three commands and it works perfectly fine.

TASKKILL /F /FI "USERNAME eq Ankita" /IM wscript.exe"

TASKKILL /F /im QTAutomationAgent.exe

TASKKILL /F /im QTPro.exe

Ankita
A: 

Killing a process without giving it opportunity to close down properly is not fair.

Here is code sample which can close QTP using its API. It will bind to open QTP application and close it in a graceful manner.

'Create QuickTest.Application object'
Dim oQtpObject : Set oQtpObject = CreateObject("QuickTest.Application")

oQtpObject.Test.Close

'Clean up'
Set oQtpObject = Nothing ' Release the Application object

I haven't got QTP installed and cannot check how this code could be called. You could try calling it directly from QTP script code and if it doesn't work you can create an external script containing quoted code and call it from QTP.

Thanks, Maciej

Maciej Zaleski
By using CreateObject you invoke ANOTHER instance of QTP, while Ankita needs to shutdown the one already running/hanging. If you're going to try your code, use GetObject instead.
Albert Gareev
+1  A: 

Hi ALbert,

You cannot create multiple instances of QuickTest Application on a single machine. Even though you say createobject("QuickTest.Application") 10 times, all will be holding same instance of the application.

Closing the quickTest using API method described above is the absolute solution.