Friday 9 December 2016

Measuring time taking to load object with QTP / UFT (Performance Testing with UFT)

Unlike LoadRunner or any performance testing tools, with QTP/UFT we can't reach to hard core features like running script with multiple Virtual Users as thread or a process. But we can get time taking to load for objects we are looking for.

This is pretty simple by implementing a simple loop and verify for the object is loaded. Below is the code snippet for the same.

Browser("BrowserName").Page("PageName").WebEdit("user").Set "XXXX"
Browser("BrowserName").Page("PageName").WebEdit("password").SetSecure "XXXX"
Browser("BrowserName").Page("PageName").Image("Login").Click
dblStartTime =  timer

set  objLink = Browser("BrowserName2").Page("PageName2").Link("Link1")

blnStatus = WaitForObject(obj)

dblEndTime = timer
'Print blnStatus
'Print dblStartTime
'Print dblEndTime
Print (dblEndTime-dblStartTime)

Function WaitForObject(obj)
    WaitForObject = false
    For i = 0 to 10
        If obj.Exist Then
            WaitForObject = true
            Exit For
        End If
    next

End function

Monday 7 November 2016

SAP CBTA - Posibility of storing output parameter in TDC - Transferring output parameter across CBTA script

There is no option to store CBTA script out put parameter in TDC(Test Data Container) though we can display it in results.

If our requirement is passing one script output parameter as input parameter for other script then make composite script by pulling both 2 CBTA scripts together

 Once we have exported output parameter value from one CBTA script(details highlighted in above screenshot) we can import that parameter in other CBTA script (details highlighted in below screenshot)


If we are expecting to pass parameter across composite script then we only have option to write custom code to export parameter and later create another custom code to import that parameter.

Below are few sample custom component codes to use it.

'====================================================================
''Function to update column value in excel file
'====================================================================
Public Function uf_XLS_UpdateColumnValue(sExcelPath, sSheetName,sSearchCriteria , sField, sValue)

  Dim objExcel
Dim objWorkbook
Dim sColumnName
Dim iKeywordRow
Dim iFeildColumn
Dim arrSearchCriteria

arrSearchCriteria = Split(sSearchCriteria,"=")
sKeywordField = arrSearchCriteria(0)
sKeyword = arrSearchCriteria(1)
     
    Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = False
Set objWorkbook = objExcel.Workbooks.Open(Trim(sExcelPath))
objExcel.Sheets(Trim(sSheetName)).Select

iColumnNumber = objExcel.Cells.Find(Trim(sKeywordField)).Column
sColumnName = uf_XLS_ConvertColNoToColName(iColumnNumber)

iKeywordRow = objExcel.Range(sColumnName & ":" & sColumnName).Find(Trim(sKeyword)).Row
If sField = "" Then
iFieldColumn = objExcel.Cells.Find(Trim(sKeyword)).Column + 1
Else
iFieldColumn = objExcel.Cells.Find(Trim(sField)).Column
End If
objExcel.Cells(iKeywordRow, iFieldColumn) = sValue
objExcel.ActiveWorkbook.Save

If Err.Number <> 0 Then rc = micFail Else rc = micPass
    objWorkbook.close
objExcel.Application.Quit
    Set objWorkbook = Nothing
Set objExcel=Nothing

uf_XLS_UpdateColumnValue = rc
End Function

'====================================================================
''Function to retrieve column value from excel file
'====================================================================
Public Function uf_XLS_GetSpecificColumnValue(sExcelPath, sSheetName,sSearchCriteria , sField)
  Dim objExcel
Dim objWorkbook
Dim sColumnName
Dim iKeywordRow
Dim iFeildColumn
Dim sValue
Dim arrSearchCriteria

arrSearchCriteria = Split(sSearchCriteria,"=")
sKeywordField = arrSearchCriteria(0)
sKeyword = arrSearchCriteria(1)
 
    Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = False
Set objWorkbook = objExcel.Workbooks.Open(Trim(sExcelPath))
objExcel.Sheets(Trim(sSheetName)).Select

iColumnNumber = objExcel.Cells.Find(Trim(sKeywordField)).Column
sColumnName = uf_XLS_ConvertColNoToColName(iColumnNumber)

iKeywordRow = objExcel.Range(sColumnName & ":" & sColumnName).Find(Trim(sKeyword)).Row
If sField = "" Then
iFeildColumn = objExcel.Cells.Find(Trim(sKeyword)).Column + 1
Else
iFeildColumn = objExcel.Cells.Find(Trim(sField)).Column
End If
sValue = Trim(objExcel.Cells(iKeywordRow, iFeildColumn))

objWorkbook.close
objExcel.Quit
Set objWorkbook = Nothing
Set objExcel=Nothing

uf_XLS_GetSpecificColumnValue = sValue
End Function

'====================================================================
''Function to write value in text file
'====================================================================
Public Function uf_FS_WriteTextFile(sFilePath,sData)
   Const ForAppending=8
'Objects for Text File
Dim objTextFile, objSetTextFile
' Create A test file object
Set objTextFile = CreateObject("Scripting.FileSystemObject")
' Open it in Append Mode
Set objSetTextFile = objTextFile.OpenTextFile(sFilePath,ForAppending,True)
'Write the data into the file
objSetTextFile.WriteLine  sData
'Close the file
objSetTextFile.Close

If Err.Number <> 0 Then rc = micFail Else rc = micPass
uf_FS_WriteTextFile = rc
End Function
'===================================================================
''Function to read value from text file
'===================================================================
Public Function uf_FS_ReadTextFile(sPath)
Const ForReading=1
'Objects for Text File
Dim objTextFile, objSetTextFile
' Create A test file object
Set objTextFile = CreateObject("Scripting.FileSystemObject")
' Open it in Read Mode
Set objSetTextFile = objTextFile.OpenTextFile(sPath,ForReading,True)
'Read the data into the file
strFileData= objSetTextFile.ReadAll
'Close the file
objSetTextFile.Close
uf_FS_ReadTextFile = strFileData
End Function
'==================================================================

Monday 1 August 2016

Reading data from PDF files using QTP/UFT tool

Reading data from PDF files using UFT tool

We might have come across reading the pdf files (probably reports) while automating our test cases. Many of our Automation testers might have faced difficulties to access PDF files, but with below approach we can overcome this issue and play around with PDF files with UFT tools.

Accessibility of PDF
The Adobe Portable Document Format (PDF) is a file format for representing documents in a manner independent of the application software, hardware, and operating system used to create them, as well as of the output device on which they are to be displayed or printed.
PDF files specify the appearance of pages in a document in a reliable, device independent manner Adobe provides methods to make the content of a PDF file available to assistive technology such as screen readers. On The Microsoft Windows operating system, Adobe Acrobat and Adobe Reader export PDF content as COM objects. Applications can interface with Acrobat or Adobe Reader in two Ways:

1. Through Microsoft's Active Accessibility (MSAA) interface, using MSAA objects that Acrobat or Adobe Reader exorts.
2. Directly through exported COM objects that allow access to the PDF document's internal structure, called the Document Object Model (DOM).

The Microsoft Windows version of Acrobat is an OLE Automation server. In order to use the OLE objects made available by Acrobat, we must have the full Acrobat product installed on your system!!

For creating OLE AcroExch.App objects , we requires trail/licensed version of acrobat professional or Licensed version of acrobat standard.
We cannot create above object with without installing acrobrat professional/standard softwares, It gives activeX error. No trail version for acrobat standard available.

How to install acrobat professional software:
With the URL: https://acrobat.adobe.com/us/en/free-trial-download.html?sdid=KQUSA

Click on “Get started” button
This will take few minutes to download.
At the end it downloads software with name: acrobatProDCXXXXXXXXXX.exe
Install it with admin rights.
This whole installation process takes 20-30 minutes time
Once installation is ready, you are good to go to create Acrobat COM and DOM objects (AcroExch.App, AcroExch.AVDoc)

Below is the sample code to read PDF file with AcroExch OLE object
’Below Function reads to PDF file and put the content in txt file.
Call PDF_ReadPDFFileAndSaveinTextFile("C:\Govardhan\Testing\mi-certificate1.pdf","C:\Govardhan\Testing\testt.txt")

Public Function PDF_ReadPDFFileAndSaveinTextFile(strPDFFilePath,strTxtFilePath)
     
    On Error Resume Next
 
    'strFileName = "C:\Govardhan\Testing\mi-certificate1.pdf"
    Set AcroApp = CreateObject("AcroExch.App")
    AcroApp.Show
    Set AcroAVDoc = CreateObject("AcroExch.AVDoc")
    AcroAVDoc.Open strFileName,""
    Set AcroAVDoc = AcroApp.GetActiveDoc
    Set AcroPDDoc = AcroAVDoc.GetPDDoc
 
    For i = 0 To AcroPDDoc.GetNumPages - AcroPDDoc.GetNumPages
 
      ' AcquirePage: Acquires the specified page. The first page in a PDDoc is always 0. returns true if successful and false otherwise.
 
      Set PageNumber = AcroPDDoc.AcquirePage(i)
 
      'the Hilite list object is being created
 
       Set PageContent = CreateObject("AcroExch.HiliteList")
       PageContent.Add 0, 20 ' getting 3 words of first page.
 
     'text selection AcroTextSelect is being created
 
       Set AcroTextSelect = PageNumber.CreateWordHilite(PageContent)
 
       'GetNumText: Gets the number of text elements in a text selection. Use this method to determine how many times to call the PDTextSelect.GetText method to obtain all of a text selection’s text.
 
       For j = 0 To AcroTextSelect.GetNumText -1
            Content = Content & AcroTextSelect.GetText(j)
        Next
    Next
 
    msgbox Content
 
    'strFile = "C:\Govardhan\Testing\test.txt"
    strText = Content
 
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Const ForAppending = 8
 
    Set objTextFile = objFSO.OpenTextFile (strFile, ForAppending, True)
    objTextFile.WriteLine(strText)
    objTextFile.Close
 
    AcroAVDoc.Close True
    AcroApp.Exit
    Set AcroDoc = Nothing
    Set AcroApp = Nothing
    On Error GoTo 0
End Function

With this OLE object we can get below properties of PDF file
Time, show, minimize, maximize, hide, FindText, GetTitle, Open, Print size, showtextselect, GetPageNum, GetText, Getpage, Create, delete..etc)

Wednesday 20 July 2016

Deleting Browser Temporary files, Cookies, History with QTP-VBScript

When we are executing end to end Automation scripts(from login to logoff) in batch mode, we may come across an issue in one of the scripts and script doesn't execute logoff functionality and hence next script tries to open browser and perform login functionality  whereas application retains the session we have used previously and directly opens home page by logged in already.

If we have not done exception handling on this are then there are lot of chances to get our next scripts fails in the batch and this is blocker for batch(night mode) execution

Below are the few options to resolve this issue.

Delete the browser history, temp files, cookies while launching browser always(you can include this in login functionality, so that this will always makes sure it don't retain previous session)

Though we perform above action, if still session is getting retained then we can implement logic in Login script to verify application is launched with login page or home page, if it is displayed home page then logoff and call the login functionality again.

Below are few options to delete Browser Temporary files, Cookies, History with QTP-VBScript

'Option 1:
ClearBrowserHistory
Function ClearBrowserHistory
Dim temp
Set fso = CreateObject ("Scripting.FileSystemObject")
Set winsh = CreateObject ("Wscript.Shell")
Set temp = fso.GetFolder (winsh.ExpandEnvironmentStrings("%TEMP%"))
On Error Resume Next

For each ofile in temp.Files
fso.DeleteFile ofile
Next

For Each osubfldr in temp.subfolders
fso.DeleteFolder (osubfldr),true
Next
wscript.quit
End Function

'Option 2:
Webutil.DeleteCookies

'To clear temporary Internet files
Set WShell = CreateObject("WScript.Shell")
WShell.run "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8"

'To Clear Browsing History
WShell.run "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1"

Wait (10)

'Option 3:
'To clear temporary Internet files
Set WshShell = CreateObject("WScript.Shell")
WshShell.run "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8"

'To clear browsing cookies
WshShell.run "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2"

'To Clear Browsing History
WshShell.run "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1"

'Below are few more options to use
Browser("Browser Name").ClearCache
Browser("Google.com:").DeleteCookies "Google"
WebUtil.deletecookies '-> It will delete the entire cookies session which will present in your system.

Deleting Browser Temporary files, Cookies, History with QTP-VBScript

When we are executing end to end Automation scripts(from login to logoff) in batch mode, we may come across an issue in one of the scripts and script doesn't execute logoff functionality and hence next script tries to open browser and perform login functionality  whereas application retains the session we have used previously and directly opens home page by logged in already.

If we have not done exception handling on this are then there are lot of chances to get our next scripts fails in the batch and this is blocker for batch(night mode) execution

Below are the few options to resolve this issue.

Delete the browser history, temp files, cookies while launching browser always(you can include this in login functionality, so that this will always makes sure it don't retain previous session)

Though we perform above action, if still session is getting retained then we can implement logic in Login script to verify application is launched with login page or home page, if it is displayed home page then logoff and call the login functionality again.

Below are few options to delete Browser Temporary files, Cookies, History with QTP-VBScript

'Option 1:
ClearBrowserHistory
Function ClearBrowserHistory
Dim temp
Set fso = CreateObject ("Scripting.FileSystemObject")
Set winsh = CreateObject ("Wscript.Shell")
Set temp = fso.GetFolder (winsh.ExpandEnvironmentStrings("%TEMP%"))
On Error Resume Next

For each ofile in temp.Files
fso.DeleteFile ofile
Next

For Each osubfldr in temp.subfolders
fso.DeleteFolder (osubfldr),true
Next
wscript.quit
End Function

'Option 2:
Webutil.DeleteCookies

'To clear temporary Internet files
Set WShell = CreateObject("WScript.Shell")
WShell.run "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8"

'To Clear Browsing History
WShell.run "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1"

Wait (10)

'Option 3:
'To clear temporary Internet files
Set WshShell = CreateObject("WScript.Shell")
WshShell.run "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8"

'To clear browsing cookies
WshShell.run "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2"

'To Clear Browsing History
WshShell.run "RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1"

Tuesday 19 July 2016

Mercury DeviceReplay option in QTP

Apart from SendKeys option, DeviceReplay is another alternative way to take control on objects which are not getting recognized.

The Device Replay feature is used to perform mouse and keyboard actions against screen coordinates that are provided. The Device Replay functions are not automatically recorded, but must be programmed manually in the Expert View.
1. Create the Device Replay Object.
Example:
Set DeviceReplay = CreateObject(“Mercury.DeviceReplay”)

2. Call the desired Device Replay function.
Example:
DeviceReplay.SendString(“Hello, Automation Testing World”)

3. When done with the Device Replay object, release it.
Example:
Set DeviceReplay = Nothing

The functions that can be used with the Device Replay object are (all coordinates are relative to the top left corner of the screen)

The functions that can be used with the Device Replay object are (all coordinates are relative to the top left corner of the screen):
FunctionDescription
MouseMove x, yMove the mouse to the screen coordinate (x,y).
MouseClick x, y, buttonMove the mouse to the screen coordinate (x,y) and click the button
(0=left; 1=middle; 2=right).
MouseDblClick x, y, buttonMove the mouse to the screen coordinate (x,y) and double-click the button
(0=left; 1=middle; 2=right).
DragAndDrop x, y, dropx, dropy, buttonDrag the mouse from screen coordinate (x,y) to (dropx,dropy) with the button
(0=left; 1=middle; 2=right) pressed.
PressKey keyPress a key using the ASCII code of the key.
For example, Chr(13), vbCR and vbTab.
MouseDown x, y, buttonPress the mouse button on screen coordinate (x,y).
MouseUp x, y, buttonRelease the mouse button on screen coordinate (x,y).
KeyDown keyPress a key using the ASCII code of the key.
For example, Chr(13), vbCR and vbTab.
KeyUp keyRelease a key using the ASCII code of the key.
For example, Chr(13), vbCR and vbTab.
SendString stringType a string.

UFT/QTP using SendKeys option

When we are automating an application, sometimes objects may not be recognized. If we don't have any other option to recognize objects with QTP then we can chose option to take the keyboard control and automate the pending part.

Now a days, almost all applications are designed in such a way to follow W3C standards. For example, if we want to click on a button and currently cursor is focused on another object, we can use keyboard Tab option till that button focused. and then later we can hit on Enter button from keyboard to achieve our goal(clicking on button which is not recognized with QTP)

When this approach is recommended:
If we have automated almost 95%  of our script and only less then 5% steps are not able to automate because of objects not getting recognized then we can go ahead with keyboard sendkeys option.

To achieve this option we have a COM object available in VBScript.

Set objWshShell = WScript.CreateObject("WScript.Shell")

once above object is created then with this object
objWshShell.SendKeys "{TAB}"
objWshShell.SendKeys "{ENTER}"

Or

objWshShell.SendKeys "{TAB}~"

this will resolve above problem to click on button.

Below are few keystokes with equivalent to keyboard buttons available in VBScript

KeystrokeEquivalent
Alt%
Backspace{BACKSPACE}
Break{BREAK}
Caps Lock{CAPSLOCK}
Ctrl^
Delete{DELETE}
Down Arrow{DOWN}
End{END}
Esc{ESC}
Help{HELP}
Home{HOME}
Insert{INSERT}
Left Arrow{LEFT}
Num Lock{NUMLOCK}
Page Down{PGDN}
Page Up{PGUP}
Print Screen{PRTSC}
Right Arrow{RIGHT}
Scroll Lock{SCROLLOCK}
Shift+
Tab{TAB}
UP Arrow{UP}
F1{F1}
F2{F2}
F3{F3}
F4{F4}
F5{F5}
F6{F6}
F7{F7}
F8{F8}
F9{F9}
F10{F10}
F11{F11}
F12
{F12}

Tuesday 31 May 2016

Automation Transition project questionnaire

Below are few of the points I would suggest for automation transition project questionnaire, though it is varies project to project.

·          Details of tools being used, Add-ins, version and licensing model
·         Provide the list of in scope application and the current automation status (in %) and pass/fail scripts status
·         Provide the list of scenarios (business case E.g. Postpaid customer activation) which are automated end to end
·         Apart form automation tool which other scripts (Perl,shell..etc) are used for automation and for which application?
·         What is current framework? Will this framework be part of transition or it is vendor specific?
·         Provide the details for test case tracebility
·         Provide all completed automation scripts
·         Provide the detail of ongoing task on automation
·         Is their any defined automation scope/target? 
·         Provide the details regarding the integration of automation tool with test mangemnt tool (E.g. HPALM) and any common repository toosl like (SVN/CVS/VSS..etc)
·         Any know issues encountered during automation with respect to environment stability?
·         Any current firewall, connectivity and licencing issue ongoing? How to deal with such issues?
·         In automated test cases what are the manual interventions?
·         What is current approach and frequency of maintaining already automated scope? How much effort does it take?
·         Please let us know the number automation execution request per month
·         Provide the detail of documentation done for automation. Also share the loaction where these documents are stored.
·         Provide the list of interfaces with technolofies in the application if any are being used during automation creation/execution
·         provide the list of dedicated/remote machines list if we are using those already for the automation
·         provide the automation test release report(latest) with all details
·         provide the list defects list if any are being linked to any automatoin scripts (known issues with automation scripts)

Monday 30 May 2016

SAP Automation tidbits

Below are tidbits used when you are automating SAP applications.


''' Generic function to verify success message displays in status bar
Public Function SAP_VerifySuccessMsg(objSAPWindowName)
On Error Resume Next
Report_WriteStepHeader("<B> Verify Success Message in the statusbar </B>")
SAPGuiSession("SAPSession").SAPGuiWindow(objSAPWindowName).SAPGuiStatusBar("StatusBar").Sync

strSBarSuccessMsg = SAPGuiSession("SAPSession").SAPGuiWindow(objSAPWindowName).SAPGuiStatusBar("StatusBar").GetROProperty("text")

intTransNum = Trim(Split(Split(strSBarSuccessMsg,"Transaction ")(1)," saved")(0))
Print intTransNum
On Error GoTo 0
SAP_VerifySuccessMsg = intTransNum
End Function

''Making fields values empty:
SAPGuiSession("SAPGuiSession").SAPGuiWindow("Purchasing Documents").SelectMenuItemById "DELSCTX"

If SAPGuiSession("SAPGuiSession").SAPGuiWindow("Purchasing Documents").SAPGuiEdit("Purchasing document").Exist(intMinSyncTime) Then
PODefaultValue=SAPGuiSession("SAPGuiSession").SAPGuiWindow("Purchasing Documents").SAPGuiEdit("Purchasing document").GetROProperty("value")
If PODefaultValue<>"" Then
SAPGuiSession("SAPGuiSession").SAPGuiWindow("Purchasing Documents").SAPGuiEdit("Purchasing document").SetFocus
SAPGuiSession("SAPGuiSession").SAPGuiWindow("Purchasing Documents").SAPGuiEdit("Purchasing document").SetCaretPos 0
Set WScript = createobject("WScript.Shell")
WScript.SendKeys "^"+"{A}"
WScript.SendKeys "{DEL}"
Set WShell = Nothing
End If
End If

''''################### to make sure cell is editable in SAP table
BlockCellEditable1=SAPGuiSession("SAPGuiSession").SAPGuiWindow("Change S/O SysB SDI 4").SAPGuiTable("Dates").IsCellEditable(1, "Block")
    If Trim(BlockCellEditable1)="True"  Then
      SAPGuiSession("SAPGuiSession").SAPGuiWindow("Change S/O SysB SDI 4").SAPGuiTable("Dates").SetCellData 1,"Block",""
      SAPGuiSession("SAPGuiSession").SAPGuiWindow("Change S/O SysB SDI 4").SAPGuiTable("Dates").SelectCell 1,"Block"
      SAPGuiSession("SAPGuiSession").SAPGuiWindow("Change S/O SysB SDI 4").SendKey ENTER
 
      If SAPGuiSession("SAPGuiSession").SAPGuiWindow("Information").Exist Then
       SAPGuiSession("SAPGuiSession").SAPGuiWindow("Information").SAPGuiButton("Continue   (Enter)").Click
      End If
    End If

'''############Changing reply mode type

Setting.WebPackage("ReplayType") = 2 'Mouse
Browser("KnowledgeInbox").Page("ReplayType").WebEdit("txtReplayType").Set "KnowledgeInbox"
Browser("KnowledgeInbox").Page("ReplayType").WebButton("Type and enable me").Click
Setting.WebPackage("ReplayType") = 1 'Events
'''############

Sunday 3 January 2016

Manual Testing with BPT approach in HP ALM

Every body knows BPT(Business Process Testing) can be done with HP UFT/QTP tool with HP ALM. But HP ALM tool has option to support Business Process Testing for manual testing as well. In fact it is quite easy and more structured compare to normal manual testing process in ALM.

Below are the steps how to proceed for that.

1.    Create Business Component in ALM under “Business Components” tab
Steps:
•    Choose “Business Components” tab
•    Select/Create a folder
•    Click on “New Component” (Highlighted in below screenshot)
On the new component window enter details and click on “OK” button

Now under “Manual Implementation” tab create test case steps to prepare manual test case.

Click on “New Step” from above screen(Highlighted). On clicking this it opens “Component Step Details” window
From the “Component Step Details” window enter manual test case step details and Press OK button
2.    Calling Business Component in Test Plan to create Test Case
Steps:
•    Choose “Test Plan” tab
•    Select/Create a folder
•    Click on “New Test” (Highlighted in below screenshot)
In the “New Test” window choose “Type” as “Business Process” option and enter rest of details and click on OK
From above created test click on “Select Components” button to select business components created above
From the components tab(right hand side) Select the required components and click on “Quick Add” button or drag and drop under “test script” pane
3.    Run the test case (manual business components) from Test Lab tab
Steps:
•    Choose “Test Lab” tab
•    Select/Create a folder
•    Click on “New Test Set” (Highlighted in above screenshot)
In the “New Test Window” enter mandatory details and click on “OK” button to generate empty test set.
Form the above created test set click on “Select Tests” button to select test case(business components test case)
From the “Test Plan Tree” pull business process test case and make your business process test set ready
4.    Execute business process test set from Manual Runner
On “BPT Manual Runner” window click on “Begin Run” button to start manual BPT to run
On Clicking “Begin Run” button it opens Business process test with manual test steps details
Enter actual results and make pass/fail the test step and complete the test case execution
After completing the test case execution click on “end Run” and verify the test case status