Jian, the application I'm currently testing has a suite of menus, which are getting expanded on a *mouseOver* action. If I would trigger a *click*, for example, it will select the first menu item, collapse the menu and navigate as necessary. In my case, I really need a *mouseOver* to simulate the menu expansion...
I believe you have built a similar mouseOver/MouseOut behaviour within SelectMenu and SimpleMenu UiObjects. What else would be appropriate for this situation? Thanks Iustina On Jan 3, 2:25 pm, [email protected] wrote: > Iustina, > > The following call should not be made explicitly, > > mouseOver "headerForm.faultHeader" > > since Container object does no have the mouseOver method defined. > > Actually, if you define the respond attribute, the Javascript events > such as > mouseOver will be called implicitly by Tellurium and you do not need > to call > it manually. That is to say, if you have an action such as "click" and > your > UI has the respond attribute with value "mouseOver", the eventhandler > in > Tellurium will automatically call "mouseOver" first before call the > "click" > method. > > Take a look at the click method in the EventHandler class, > > def click(String locator, String[] events) { > String[] defaultEvents = null > if(extraEvent) > defaultEvents = ["focus", "mouseOver"] > > processEvents(locator, events, defaultEvents){ > dispatcher.click(locator) > } > > } > > and the processEvents method is as follows, > > protected void processEvents(String locator, String[] events, > String[] defaultEvents, Closure action){ > checkElement(locator) > if(dispatcher.isElementPresent(locator)){ > Event[] evns = alg.sort(events, defaultEvents) > evns.each { Event event -> > if(event == Event.ACTION) > action() > else > processingEvent(locator, event) > } > > } > } > > protected void processingEvent(String locator, Event event){ > switch (event){ > case Event.BLUR: > dispatcher.fireEvent(locator, "blur") > break > case Event.FOCUS: > dispatcher.fireEvent(locator, "focus") > break > case Event.MOUSEOUT: > dispatcher.mouseOut(locator) > break > case Event.MOUSEOVER: > dispatcher.mouseOver(locator) > break > default: > println "Warning: Unknown Event ${event.toString()}" > } > } > > Hope this can help you understand the respond attribute better. > > Thanks, > > Jian > > On Jan 3, 12:01 pm, iv <[email protected]> wrote: > > > > > Thanks for providing the fix for Widget: it works like a charm for > > Checkboxes and Images now :) > > > But I am still having the same error as before, for *mouseOver* over a > > Container: > > > groovy.lang.MissingMethodException: No signature of method: > > org.tellurium.object.UiObject.mouseOver() is applicable for argument > > types: (org.tellurium.widget.Widget$_mouseOver_closure1) values: > > {org.tellurium.widget.widget$_mouseover_closu...@d1a1ab} > > at sun.reflect.GeneratedConstructorAccessor7.newInstance(Unknown > > Source) > > at sun.reflect.DelegatingConstructorAccessorImpl.newInstance > > (DelegatingConstructorAccessorImpl.java:27) > > at java.lang.reflect.Constructor.newInstance(Constructor.java:494) > > at org.codehaus.groovy.runtime.MetaClassHelper.doConstructorInvoke > > (MetaClassHelper.java:535) > > at groovy.lang.MetaClassImpl.doConstructorInvoke(MetaClassImpl.java: > > 2356) > > at groovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java: > > 1255) > > at groovy.lang.MetaClassImpl.invokeConstructor(MetaClassImpl.java: > > 1185) > > at org.codehaus.groovy.runtime.InvokerHelper.invokeConstructorOf > > (InvokerHelper.java:809) > > at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeNewN > > (ScriptBytecodeAdapter.java:230) > > at org.tellurium.object.UiObject.methodMissing(UiObject.groovy:95) > > at sun.reflect.GeneratedMethodAccessor43.invoke(Unknown Source) > > at sun.reflect.DelegatingMethodAccessorImpl.invoke > > (DelegatingMethodAccessorImpl.java:25) > > at org.codehaus.groovy.reflection.CachedMethod.invoke > > (CachedMethod.java:86) > > at groovy.lang.MetaClassImpl.invokeMissingMethod(MetaClassImpl.java: > > 707) > > at groovy.lang.MetaClassImpl.invokeMissingMethod(MetaClassImpl.java: > > 679) > > at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:930) > > at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:756) > > at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod > > (InvokerHelper.java:778) > > at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod > > (InvokerHelper.java:758) > > at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN > > (ScriptBytecodeAdapter.java:170) > > at > > org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodNSafe > > (ScriptBytecodeAdapter.java:178) > > at org.tellurium.widget.Widget.mouseOver(Widget.groovy:75) > > > On Jan 2, 6:25 pm, [email protected] wrote: > > > > Iustina, > > > > I committed the fix and upload the new tellurium jar file to the user > > > group as tellurium-0.6.0.jar. I cannot upload it to project web site > > > because all artifacts there will be archived. > > > > Or you check out the core project source from trunk and then run ant > > > task > > > > ant dist > > > > to generate the tellurium jar file, which will be under dist/. > > > > Please let me know if you have any further questions. > > > > Thanks, > > > > Jian- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "tellurium-users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/tellurium-users?hl=en -~----------~----~----~----~------~----~------~--~---
