Problem – Quality center’s issue with running periodic testsets
This has been a long standing issue with me and Quality Center. You can use QC to schedule a testset to run at a given time but the issue is when you need to have a testset run at a recurring time — say every day at 5:00 am.
To get testsets to run periodically you can use Vbscript with QC’s OTA API and Windows scheduler.
Vbscript code needed to run testset in QC
First you need to setup a VBScript that calls the Quality Center’s testset that you want to run:
set tdc = createobject("TDApiOle80.TDConnection") tdc.InitConnectionEx "http://qcURL/qcbin/" tdc.login "yourUserName","yourPassword" tdc.Connect "yourDomain","yourProject" Set objShell = CreateObject("WScript.Shell") Set TSetFact = tdc.TestSetFactory Set tsTreeMgr = tdc.TestSetTreeManager Set tsFolder = tsTreeMgr.NodeByPath("Root\Formal Tests\YourTestDirectory") Set tsList = tsFolder.FindTestSets("Your TestSet name. This is case sensitive!") Set theTestSet = tsList.Item(1) Set Scheduler = theTestSet.StartExecution("") Scheduler.RunAllLocally = True Scheduler.run Set execStatus = Scheduler.ExecutionStatus Do While RunFinished = False execStatus.RefreshExecStatusInfo "all", True RunFinished = execStatus.Finished Set EventsList = execStatus.EventsList For Each ExecEventInfoObj in EventsList strNowEvent = ExecEventInfoObj.EventType Next For i= 1 to execstatus.count Set TestExecStatusobj =execstatus.Item(i) intTestid = TestExecStatusobj.TestInstance Next Loop
Window’s Scheduled Tasks
Next you need to setup the windows scheduler to run at the desired time. See video for step by step instructions.
RunTestSet.exe – Another option
If you do not want to create your own VBScript to run your testsets you can also try an unsupported tool from HP – RunTestSet.exe. RunTestSet is a VC++ console application that you can send command line options to in order to run a QC testset. You can download RunTestSet and its documentation from HP or from http://www.joecolantonio.com/downloads