Problem – Quality center's issue with running periodic test sets
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.
Solution
To get testsets to run periodically you can use Vbscript with QC's OTA API and Windows scheduler.
VBScript code needed to run test set 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 for Running Tests
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 test sets 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 a test set. You can download RunTestSet and its documentation from HP or from https://testguild.com/downloads