What this program will do : it will read the Yes flag and then run the QTP on the particular machine. Which is given into the column "Where want to Run PATH - QC or any other Path"
Prerequisite: Might be DCOM setting need to do for remote execution.
Run prompt > dcomcnfg > Component service > Computer > My computer > DCOM config > right click on QuickTest Professional Automation > security > add the name of user for alll three customize radio button from which you want to run the QTP scripts.
Steps:
Design the Exel with coulmn
Testcasename Where want to Run PATH - QC or any other Path Run On demand When You want to run AM/PM Enviorment URL Resultant Command TSR Location USER
Sample:
Testcasename Where want to Run PATH - QC or any other Path Run On demand When You want to run AM/PM Enviorment URL Resultant Command TSR Location USER
TC_Login shukr02-xp YES Now PM www.Build1.com C:\Automation\TestSuite
TC_CreatRequest Load Sharing Machine NO Now AM www.Build1.com C:\Automation\TestSuite
TC_AmendRequest Load Sharing Machine NO Now PM www.Build3.com C:\Automation\TestSuite
TC_DO_Question Load Sharing Machine NO Now AM www.Build4.com C:\Automation\TestSuite
TC_PutRecommendation Load Sharing Machines NO Now AM www.Build1.com C:\Automation\TestSuite
TC_LogIncident Load Sharing Machine NO Now AM www.Build1.com C:\Automation\TestSuite
TC_resubmit Incident Load Sharing Machine NO 10:20 AM www.Build2.com C:\Automation\TestSuite
TC_SendEmail Subject\QTPFolder\Automation Suite NO 10:34 PM www.Build2.com C:\Automation\TestSuite
TC_LogtheBug0 alara01-xp YES Now AM www.Build2.com \\alara01-xp\Automation\TestSuite
TC_LogtheBug1 alara01-xp NO Now AM www.Build2.com \\alara01-xp\Automation\TestSuite
TC_LogtheBug Load Sharing Machines NO Now AM www.Build2.com C:\Automation\TestSuite
EOF EOF EOF EOF EOF EOF EOF EOF EOF
Select Task
QTP Automation YES
CURL Automation - Sheet 2 NO
Build Deployment - Sheet 3 NO
Macro to run this Code:
'OnDEmandAutomation ("C:\AutomationTesting\TestSuite.xlsm")
Sub OnDEmandAutomation()
'Shell Environ$("COMSPEC") & " /k C:\AutomationTesting\StartAutomation.bat"
Dim tNum, tLoc(100), tCase(100), tTime(100), tTimeAMPM(100), tEnv(100), tpth(100)
APath = "C:\AutomationTesting\TestSuite.xlsm"
tNum = 0
Dim rowCount
rowCount = 2
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
xlApp.Workbooks.Open APath
'xlApp.ScreenUpdating = False
'Set objSheet=xlApp.Workbooks(APath).worksheet("Sheet1")
Set objSheet = xlApp.ActiveWorkbook.Worksheets(1) ' Take Active WorkBook
screenRow = 0
For rowNumber = 2 To 100
screenRow = screenRow + 1
If objSheet.Cells(rowNumber, 1) = "EOF" Then
Exit For
Else
If objSheet.Cells(rowNumber, 3) = "YES" Or objSheet.Cells(rowNumber, 1) = "EOF" Then
tCase(tNum) = objSheet.Cells(rowNumber, 1).Value
tLoc(tNum) = objSheet.Cells(rowNumber, 2).Value
tTime(tNum) = objSheet.Cells(rowNumber, 4).Value
tTimeAMPM(tNum) = objSheet.Cells(rowNumber, 5).Value
tEnv(tNum) = objSheet.Cells(rowNumber, 6).Value
tpth(tNum) = objSheet.Cells(rowNumber, 7).Value
For rt = 0 To 0
'sComp = tLoc(tNum)
'Set WMIobj = GetObject("winmgmts:\\" & sComp & "\root\cimv2")
'Set IEExp = WMIobj.ExecQuery("Select * from Win32_Process Where Name = 'QTPro.exe'")
'MsgBox IEExp.Count
'For Each IEx In IEExp
' IEx.Terminate()
'Next
'Set WMIobj = GetObject("winmgmts:\\" & sComp & "\root\cimv2")
' Find All the iexplore.exe processes
'Set IEExp = WMIobj.ExecQuery("Select * from Win32_Process Where Name = 'iexplore.exe'")
'For Each IEx In IEExp
' IEx.Terminate()
'Next
'Shell Environ$("COMSPEC") & " /k C:\AutomationTesting\LaunchQTP.bat"
'wscript.exe "C:\AutomationTesting\Testrun.vbs"
'If tLoc(tNum) <> "shukr02-xp" Then
'staf_command(tNum)="Staf" & tLoc(tNum) & "process start command" QTPro.exe
Set qtApp = CreateObject("QuickTest.Application", tLoc(tNum)) ' tLoc(tNum) Create the Application object
qtApp.Launch ' Start QuickTest
qtApp.Visible = True ' ' Make the QuickTest application visible
qtApp.Open tpth(tNum), False
qtApp.Test.Run
'qtApp.Test.Close ' Close the test
qtApp.Quit
Set qtApp = Nothing
'Else
'staf_command(tNum)="Staf" & tLoc(tNum) & "process start command" QTPro.exe
'Set qtApp1 = CreateObject("QuickTest.Application") ' Create the Application object
'qtApp1.Launch ' Start QuickTest
'qtApp1.Visible = True ' ' Make the QuickTest application visible
'qtApp1.Open tpth(tNum), False
'qtApp1.Test.Run
'qtApp.Test.Close ' Close the test
'qtApp1.Quit
'Set qtApp1 = Nothing
'End If
Next
'qtApp.Quit ' Exit QuickTest
'Set qtApp = Nothing ' Release the Application object
tNum = tNum + 1
'tNum = tNum + 1
'msgBox "Testcase" & testCase
End If
End If
Next
xlApp.Quit
KillProcessEXCEL = "EXCEL.EXE"
Set ProcessList2 = GetObject("winmgmts://.").InstancesOf("win32_process")
For Each Process In ProcessList2
If Process.Name = KillProcessEXCEL Then
Process.Terminate
End If
Next
'Call AttachHTMLAsMailContent("Team-Picasso-QA123", "shukr02", "alara01", "Automation Completed", "http://result.com")
End Sub
'Function AttachHTMLAsMailContent(sSendTo, sSendToCC, sSendToBCC, sSubject, sHtmlPath)
'Dim objOutlook
'Dim objOutlookMsg
'Dim olMailItem
' Create the Outlook object and the new mail object.
'Set objOutlook = CreateObject(Outlook.Application)
'Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
' Define mail recipients
'objOutlookMsg.To = sSendTo
'objOutlookMsg.CC = sSendToCC
'objOutlookMsg.BCC = sSendToBCC
' Body of the message
'With objOutlookMsg
'Set fso = CreateObject(Scripting.FileSystemObject)
'Set ts = fso.OpenTextFile(sHtmlPath, 1)
'strText = ts.ReadAll
'.HTMLBody = strText
'.Display
'End With
' Send the message
'objOutlookMsg.Send
'Wait (3)
' Release the objects
'Set objOutlook = Nothing
'Set objOutlookMsg = Nothing
'End Function
Hi Krishan Shukla,
ReplyDeleteThis illustration is very nice. But if you could attach the actual files with this block, it will be helpfull for the readers.
Thanks
V.Selvam
v_selvam200(at)yahoo(dot)com