Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Problem with function call
#1
Solved: 10 Years, 8 Months, 2 Weeks ago
Hi,

I wanted to pass the name of the webbutton from the datasheet. for this reason iam using the below code:

Code:
Function  ClickWebButton(strName)
If  strName = "" Then
Exit Function
End If
Set WbButton = Description.Create()
WbButton("micclass").Value = "WebButton"
WbButton("Index").Value = 1
' ClickImage("name").Value = strName
WbButtonFound = False
Set AllWbButton = Browser("micclass:=browser").page("micclass:=page").ChildObjects(WbButton)
For i = 0 TO AllWbButton.count-1
WBname = AllWbButton(i).GetROProperty("name")
If WBname = strName  Then
WbButtonFound = True
strDisable = AllWbButton(i).GetROProperty("disabled")
AllWbButton(i).Click
Exit Function
Exit For
End If
Next
Set WbButtonFound = Nothing
End Function


and i am calling the above function
Call ClickWebButton(Save)-->Save is the name of the Webbutton used as the strName.

The above code is not working
Any help will be really appreciated.

Regards;
Vijay
Reply
#2
Solved: 10 Years, 8 Months, 2 Weeks ago
set one more property in your description object
Code:
WbButton("name").Value = strName

let me know how it goes.

Reply
#3
Solved: 10 Years, 8 Months, 2 Weeks ago
Hi Vijay,

When you attempt to create an object collection with the index as one of the defining properties, you're limiting the size of the object collection as well as stating that you're certain of the object to be retrieved through the use of the ordinal identifier. If you remove the below line of code, and create your function, you should see better results.

Code:
WbButton("Index").Value = 1

Secondly, you can improve performance in your code if you use the property within the description object instead of looping through all items and finding the button with the correct name. Since your code clicks the first found WebButton, wouldn't it be better to limit your code to the following:

Code:
Set WbButton = Description.Create()
WbButton("micclass").Value = "WebButton"
WbButton("name").Value = strName
        
Set AllWbButton = Browser("micclass:=browser").page("micclass:=page").ChildObjects(WbButton)

AllWbButton(0).Click

Lastly, the below lines of code:

Code:
If WBname = strName Then
ClickWebButton = True

should be:

Code:
If WBname = strName Then
ClickWebButton = True

I hope this helps.
Correction in my last statement:

Lastly, the below lines of code:

Code:
If WBname = strName Then
WbButtonFound = True

should be:

Code:
If WBname = strName Then
ClickWebButton = True
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Problem With conversion function wajid 3 1,419 10-01-2018, 01:16 PM
Last Post: wajid
  Calling a Function in Function Library when function is defined in an Action jitenderkkr 0 2,761 11-27-2014, 12:53 PM
Last Post: jitenderkkr
  Run Error on Function call in QTP essentials cnujonnala 1 2,194 12-31-2012, 02:38 PM
Last Post: krr
  How can we call a function stored in another test ? akhilsoni776 2 3,593 08-25-2011, 10:47 PM
Last Post: akhilsoni776
  call function from another library y1799 2 5,411 08-19-2010, 06:43 PM
Last Post: y1799

Forum Jump:


Users browsing this thread: 1 Guest(s)