cancel
Showing results for 
Search instead for 
Did you mean: 

Invalid Callee in Firefox

SOLVED
Highlighted
Occasional Contributor

Invalid Callee in Firefox

TC10 does not add empty span objects to the object browser, which means you can't add them to your NameMapping file.  I am using the code below to click one of these empty span objects in order to work around this 'feature'.  The code works fine in IE 11 and Chrome, but returns a VBScript runtime error when used in Firefox.

 

VBScript runtime error:  Invalid callee

Any ideas on a work-around?  Google isn't turning up anything useful.

 

Field = "Aliases.App.SendEmailForm.EmailIconBar"
Value = "Send Email" 

Set objField = Eval(Field)
    
    For i = 0 to objField.childElementCount - 1
        Set ChildItem = objField.children.item(i) 'Firefox - Runtime error: Invalid Callee
        If ChildItem.nodeName = "SPAN" Then
            If ChildItem.Title = Value Then
                '# ChildItem.Click only works in IE.  The Click method doesn't exist for this object in Chrome or FF
                'ChildItem.Click
                '# Rect works for IE and Chrome.
                Set Rect = ChildItem.getBoundingClientRect()
                x = Rect.right - Rect.left + 1
                y = Rect.bottom - Rect.top + 1
                Call objField.Click(x, y)
                fClickEmptySpan = 1
                Exit Function
            End If
        End If
    Next

 

<div class="emailIconBar">

    <span class="uIcon hover send" onclick="sendEmail(this)" title="Send Email"></span>
    <span class="uIcon hover saveDraft" onclick="SaveDraft(this)" title="Save as Draft"></span>
    <span class="EmailBranchSetupError"></span>
    <span class="DocumentSelect hide" style="display: none;"></span>

</div>


This recent topic covers the same kind of issue, but it didn't look like Firefox was being tested:  http://community.smartbear.com/t5/Functional-Web-Testing/Click-method-not-accepted-in-chrome/m-p/100...

 

1 ACCEPTED SOLUTION

Accepted Solutions
Community Manager

Re: Invalid Callee in Firefox

Hi Jack,

 

I’m not sure. However, can you check if the following script works for you?

var obj = // obtain the path to the emailIconBar object;
 
//find the html element
var obj = page.FindChildByXPath("//SPAN[@class='DocumentSelect hide']", false);
 
// Check the result
if (obj != null)
{
   // If the element was found, click it
   obj.Click();
}
else
   Log.Error("The element was not found.");

 

I’m referring to the HTML source of the page and looking for the hidden HTML object. Please read the "Finding Web Objects Using XPath Expressions" (http://smartbear.com/viewarticle/62117/ ) help topic for details.

---------
Tanya Gorbunova
SmartBear Community Manager

Did my reply answer your question? Give Kudos or Accept it as a Solution to help others.↓↓↓↓↓
2 REPLIES 2
Community Manager

Re: Invalid Callee in Firefox

Hi Jack,

 

I’m not sure. However, can you check if the following script works for you?

var obj = // obtain the path to the emailIconBar object;
 
//find the html element
var obj = page.FindChildByXPath("//SPAN[@class='DocumentSelect hide']", false);
 
// Check the result
if (obj != null)
{
   // If the element was found, click it
   obj.Click();
}
else
   Log.Error("The element was not found.");

 

I’m referring to the HTML source of the page and looking for the hidden HTML object. Please read the "Finding Web Objects Using XPath Expressions" (http://smartbear.com/viewarticle/62117/ ) help topic for details.

---------
Tanya Gorbunova
SmartBear Community Manager

Did my reply answer your question? Give Kudos or Accept it as a Solution to help others.↓↓↓↓↓
Occasional Contributor

Re: Invalid Callee in Firefox

Tanya,

This works perfectly in IE, FF, and Chrome.  Thanks!

 

Edit:  Well, almost perfectly.  The "Click" method doesn't exist for the hidden object in Chrome or FF.  I still had to draw the rectangle around the object and click inside the rectangle.

New Here?
Join us and watch the welcome video:
6 / 7 API Testing Mistakes Video
Top Kudoed Authors