John Mburu
John Mburu

Reputation: 11

Dynamic Link in UFT automation?

I want to write a dynamic VBScript for my web automation in UFT 12.02. I would like to pass a dynamic value as part of the link. here is my sample Line code:

set ObjExcel = CreateObject("Excel.application")
ObjExcel.workbooks.open "F:\Automation\Web\Business\WebTestData.xls"

For Curr= 1 To 20
    USD = ObjExcel.sheets(1).cells(Curr,1).Value
    If Browser("...").Page("...").Exist Then
       Browser("...").Page("...").WebElement("WebElement").Click
       'Attempt to click on Drop Down Link
       Browser("...").Page("...").Link("USD").Click
    End If
Next

"USD" will keep changing, i.e. I will be picking it from Excel.

Expected Result:

Generate a script that will attempt to click on different links as below:

Browser("...").Page("...").Link("EURO").Click
Browser("...").Page("...").Link("BP").Click
Browser("...").Page("...").Link("AED").Click
Browser("...").Page("...").Link("KSH").Click
Browser("...").Page("...").Link("IR").Click

Upvotes: 0

Views: 1450

Answers (2)

ManishChristian
ManishChristian

Reputation: 3784

Yes, you should use USD without double quote.

Dim currType, ObjExcel

set ObjExcel = CreateObject("Excel.application")
ObjExcel.workbooks.open "F:\Automation\Web\Business\WebTestData.xls"

For Curr= 1 To 20
   currType = ObjExcel.sheets(1).cells(Curr,1).Value
   If Browser("...").Page("...").Exist Then
      Browser("...").Page("...").WebElement("WebElement").Click
      'Attempt to click on Drop Down Link
      Browser("...").Page("...").Link(currType).Click
   End If
Next

set ObjExcel = Nothing

Note: I've changed USD with currType.

Upvotes: 2

Ansgar Wiechers
Ansgar Wiechers

Reputation: 200453

I have zero experience with UFT, but shouldn't using the variable USD instead of the string "USD" do what you want?

For Curr= 1 To 20
  USD = ObjExcel.sheets(1).cells(Curr,1).Value
  If Browser("...").Page("...").Exist Then
    Browser("...").Page("...").WebElement("WebElement").Click
    'Attempt to click on Drop Down Link
    Browser("...").Page("...").Link(USD).Click
  End If
Next

Upvotes: 1

Related Questions