Micro Focus QTP (UFT) Forums
Data Driven Concept - Printable Version

+- Micro Focus QTP (UFT) Forums (https://www.learnqtp.com/forums)
+-- Forum: Micro Focus UFT (earlier known as QTP) (https://www.learnqtp.com/forums/Forum-Micro-Focus-UFT-earlier-known-as-QTP)
+--- Forum: UFT / QTP Beginners (https://www.learnqtp.com/forums/Forum-UFT-QTP-Beginners)
+--- Thread: Data Driven Concept (/Thread-Data-Driven-Concept)



Data Driven Concept - s.tambi - 04-23-2015

Hi All,

I am learning QTP through various references. I have created a script which will creates an excel sheet, store username and password. Later same sheet is used to login to "Flight GUI". I am able to go through 1 row or valid scenario. However, I am not able to proceed further with rest of the username and password combination.

Below is code for your reference:

Code:
Objopen.Application.Quit
Set Objopen=nothing

Set objExcel=CreateObject("Excel.Application")
Set objWB=objExcel.Workbooks.Open("C:\Logindetails.xlsx")
Set objWS=objExcel.ActiveWorkbook.Worksheets("Sheet1")
objExcel.Visible=true

***************** I believe I am going wrong some where from here *****************

vRows=objWS.usedrange.rows.count

Datatable.SetCurrentRow(1)
rowcount=Datatable.GetSheet("Sheet 1").GetRowCount
For i = 1 To rowcount
SystemUtil.Run "C:\Program Files\HP\Unified Functional Testing\samples\flight\app\flight4a.exe"
dialog("Login").WinEdit("Agent Name:").Set rowcount
dialog("Login").WinEdit("Password:").Set rowcount
dialog("Login").WinButton("OK").Click
If window("Flight Reservation").Exist(5) Then
    msgbox "Test Passed"
    window("Flight Reservation").Close
    Else msgbox "Test Failed"
End If    
Next
objExcel.Application.Quit
Set objWB=nothing
Set objWS=nothing

Please advise?


RE: Data Driven Concept - s.tambi - 04-23-2015

Hi All,

I was able to resolve the issue. Below is the implementation.

Code:
[i]From external location I brought the data to Action1 local datatable.[/i]
Datatable.ImportSheet "C:\mercury1.xlsx","Sheet1","Action1"

[i]I took the Count of Action1 datatable using[/i]
numRows=Datatable.GetSheet("Action1").GetRowCount

[i]I used for loop, so that I can execute the test case based on the RowCount[/i]
For i = 1 To numRows
    DataTable.GetSheet("Action1").SetCurrentRow i
    [b]var_U=DataTable.GetSheet("Action1").GetParameter("Username").Value
    var_P=DataTable.GetSheet("Action1").GetParameter("Password").Value[/b]
    SystemUtil.Run "C:\Program Files\HP\Unified Functional Testing\samples\flight\app\flight4a.exe"
    dialog("Login").WinEdit("Agent Name:").Set var_U
    dialog("Login").WinEdit("Password:").Set var_P
    dialog("Login").WinButton("OK").Click
If window("Flight Reservation").Exist(5) Then
        window("Flight Reservation").Close
        msgbox"1st User logged in"
        elseif dialog("Login").Dialog("Flight Reservations").Static("Err1").GetROProperty("Text")="Please enter agent name" Then
        dialog("Login").Dialog("Flight Reservations").WinButton("OK").Click
        'dialog("Login").Dialog("Flight Reservations").Close
        dialog("Login").Close
        msgbox "User unable to login due to blank username field"
        else
        dialog("Login").Dialog("Flight Reservations").WinButton("OK").Click
        dialog("Login").Dialog("Flight Reservations").Close
        msgbox"SOmething BIG is WRONG"
End If
Next
Set var_U=nothing
Set var_P=nothing

script marked in italic and bold played very crucial role to come over the roadblock.