Solution to "this test is locked by another quality center user"


There are a lot of instances while working with Quality center that you might have noticed this message "this test is locked by another quality center user”
Sometimes you may have imposed a self lock on it.. J This happens mostly when the user kills the QTP process when the script is still open(from QC).

If you have forgotten the machine where you have imposed a self lock then don’t worry as here is the soln to get rid of the same:

Copy the following code and run it from the machine were qc is instantiated.

On Error Resume Next   
desc = "Please provide the network id for the user, and please make sure" &_
        "this user is logged out prior to removing locks"   
UName = InputBox(desc,"Provide network id")  
If(UName <> "") Then     
  Set cmd = TDConnection.Command      
  cmd.CommandText = "DELETE FROM Locks WHERE LK_USER = '" & UName & "'"       
  cmd.Execute      
  MsgBox "All locks for user id: " & UName & " were removed", _       
    vbNotify+vbOKOnly,"Compelted"  
Else    
  MsgBox "No locks were changed", vbNotify+vbOKOnly, "No Info" 
End If   
On Error Goto 0

Provide your userid when prompted and wallah , the magic is done J
You can now go ahead and edit your scripts.
Happy Testing!

Comments

  1. Matias18/11/11

    Hi, i tried this and didn´t work. Do QTP or QC need to be opened or something?
    Thanks, this problem has been haunting me since forever...

    ReplyDelete
  2. Make sure that qtp is closed and all instances of the qtp processes are killed and make sure you get the message ""All locks for user id: x were removed" .

    ReplyDelete
  3. Matias18/11/11

    Do i have to run this on the client PC? How does this script know how to connect to the DB?
    I finally accessed QC as an admin and ran the SQL query to delete myself, but i can´t give everybody access to the DB, so this script would simplify things.
    Thanks!!

    ReplyDelete
  4. This is seen when we directly Kill the QTP process, The best way is to close QTP instance then again open it, Now test still open in Readonly mode. Now disconnect from QC and close QTP. Now when you will open QTP you can see your test in edit mode

    ReplyDelete
  5. Anonymous12/1/12

    how can i run the code?

    ReplyDelete
  6. @ Anonymous - Copy the code to a text file and save it as a .vbs file.

    ReplyDelete
  7. Excellent contribution! I tried it on QTP 11 and it unlocked my script. Thanks a lot for sharing this.

    ReplyDelete
  8. @Hernan - Glad that worked for you!

    ReplyDelete
  9. This comment has been removed by the author.

    ReplyDelete
  10. Priyank25/10/13

    Awesome.. it worked. :) Thanks Aditya. Thats the simple thing for which we are looking for.

    ReplyDelete
  11. Good job dude. code works excellent

    ReplyDelete
  12. Anonymous24/4/14

    Not working for me :(

    ReplyDelete
  13. Thanks alot man.......

    ReplyDelete
    Replies
    1. More than happy when it works for someone :)

      Delete
  14. Hi Tried above code but it not worked for me

    i am getting this message ""All locks for user id: x were removed" when i open script it show locked .:(

    ReplyDelete

Post a Comment

Popular posts from this blog

XPATH for IE / internet explorer

All time good software testing books!