execute_async function call throws -callback is not defined error- on Firefox 3.6.27

45 views
Skip to first unread message

vishwanath J

unread,
Mar 7, 2012, 3:04:31 PM3/7/12
to Selenium Developers
Hi,
I tried using execute_async with the following JS code

var arg1 = arguments[0];
var len = document.links.length;
callback(len);

On IE 8.0 - It works fine. no. of links is returned

Firefox 3.6.27 - throws "callback is not defined error" - More info
follows -

Operating system: Win XP
Selenium server version 2.19

----------------------------------
17:48:28.997 INFO - Executing: [set script timeoutt: 10000] at URL: /
session/133
0997836678/timeouts/async_script)
17:48:29.013 INFO - Done: /session/1330997836678/timeouts/async_script
17:48:29.044 INFO - Executing: [execute async script:
var arg1 = arguments[0];
var len = document.links.length;
callback(len);
, [User Roles, return arguments[0]]] at URL: /session/
1330997836678/exec
ute_async)
17:48:29.763 WARN - Exception thrown
org.openqa.selenium.WebDriverException: callback is not defined
(WARNING: The se
rver did not provide any stacktrace information)
Command duration or timeout: 15 milliseconds
Build info: version: '2.19.0', revision: '15849', time: '2012-02-08
16:10:57'
System info: os.name: 'Windows XP', os.arch: 'x86', os.version: '5.1',
java.vers
ion: '1.6.0_29'
Driver info: driver.version: EventFiringWebDriver
at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at
sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
rce)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at
org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.
java:170)
at
org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHa
ndler.java:123)
at
org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.ja
va:439)
at
org.openqa.selenium.remote.RemoteWebDriver.executeAsyncScript(RemoteW
ebDriver.java:371)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.openqa.selenium.support.events.EventFiringWebDriver
$2.invoke(Even
tFiringWebDriver.java:100)
at $Proxy2.executeAsyncScript(Unknown Source)
at
org.openqa.selenium.support.events.EventFiringWebDriver.executeAsyncS
cript(EventFiringWebDriver.java:220)
at
org.openqa.selenium.remote.server.handler.ExecuteAsyncScript.call(Exe
cuteAsyncScript.java:56)
at
org.openqa.selenium.remote.server.handler.ExecuteAsyncScript.call(Exe
cuteAsyncScript.java:1)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown
Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(Unknown Source
)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
Source)
at java.lang.Thread.run(Unknown Source)
17:48:29.763 WARN - Exception: callback is not defined (WARNING: The
server did
not provide any stacktrace information)
Command duration or timeout: 15 milliseconds
Build info: version: '2.19.0', revision: '15849', time: '2012-02-08
16:10:57'
System info: os.name: 'Windows XP', os.arch: 'x86', os.version: '5.1',
java.vers
ion: '1.6.0_29'
Driver info: driver.version: EventFiringWebDriver

----------------------------

I think this is a bug in the server. Is it really? Please help me
workaround this problem.

Daniel Wagner-Hall

unread,
Mar 17, 2012, 4:08:25 PM3/17/12
to selenium-...@googlegroups.com
callback isn't magically defined.

You need to set:

var callback = arguments[arguments.length - 1];

before referencing it by name. Or just call:
arguments[arguments.length - 1](len)

> --
> You received this message because you are subscribed to the Google Groups "Selenium Developers" group.
> To post to this group, send email to selenium-...@googlegroups.com.
> To unsubscribe from this group, send email to selenium-develo...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/selenium-developers?hl=en.
>

Reply all
Reply to author
Forward
0 new messages