Community
Participate
Working Groups
Created attachment 223481 [details] Logfile of the failed steps of the Mac context menu tests In the tests for Context menus under Mac there are failing test steps, because the submenu is not opened.(Test result attached) SubeMenus are opened over a Mouseover and it seems that this mouseover does not trigger the expanding of the submenu. This is only the case if the mouse did not move before opening the context menu. This problem happens only in TabbedPanes and Trees because they are big enough. So that after the first context menu, with opening submenu "More", the mouse do not have to move to open the next context menu for the same graphics component. And the next test step fails, because the submenu is not expanded(but the mouse is over the specific item). The mouse movement is done only in one step, in other words it is jumping to the target. If the mouse moves in small steps into the contextmenu the submenu is expanded.
Created attachment 223483 [details] Changing the mouse movment into small steps.(using MouseMovementStrategy) I have created a patch which solves this issue. I implemented the mouse movement Strategy which is used in SWT. So the mouse moves in 1pixel step to its target and the submenu is expanded.
The attached file is not a valid git applicable patch: corrupt patch at line 41. You can check on your own before attaching via "git apply <path2patch> --check". Please re-attach a valid patch file for this.
Created attachment 223490 [details] patch for bug I have created the patch and checked it, now it should be working
The code is not Java 1.4 compatible as it makes use of a Java 1.5 class "MouseInfo" - please adjust the code to be 1.4 compatible.
Created attachment 223492 [details] Fix for Bug i have changed the MouseInfo to the MouseMotionTracker which is used in the robot.
The patch has been reviewed and applied with changeset http://git.eclipse.org/c/jubula/org.eclipse.jubula.core.git/commit/?id=fd3b10c7d17ebfcf65762f25565e44107459f79e
All nightly swing regression tests failed due to a "Configuration Error" on Mac OS X: 2012-11-13 23:18:28.017 [Connection.ReaderThread:Socket[addr=macguidancer.bredex.de/10.54.48.192,port=54432,localport=54438]] ERROR o.e.j.r.c.c.AbstractCapTestCommand - InvocationTargetException: java.lang.reflect.InvocationTargetException: null at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_35] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[na:1.6.0_35] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_35] at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_35] at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:281) ~[org.apache.commons.beanutils_1.8.0.v201205091237.jar:na] at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:225) ~[org.apache.commons.beanutils_1.8.0.v201205091237.jar:na] at org.eclipse.jubula.rc.common.commands.MethodInvoker.invoke(MethodInvoker.java:64) ~[org.eclipse.jubula.rc.common_2.0.0.201211131148.jar:na] at org.eclipse.jubula.rc.common.commands.AbstractCapTestCommand.execute(AbstractCapTestCommand.java:231) ~[org.eclipse.jubula.rc.common_2.0.0.201211131148.jar:na] at org.eclipse.jubula.communication.Communicator$ConnectionListener.received(Communicator.java:845) [org.eclipse.jubula.communication_2.0.0.201211131148.jar:na] at org.eclipse.jubula.communication.connection.Connection.fireMessageReceived(Connection.java:402) [org.eclipse.jubula.communication_2.0.0.201211131148.jar:na] at org.eclipse.jubula.communication.connection.Connection.access$3(Connection.java:391) [org.eclipse.jubula.communication_2.0.0.201211131148.jar:na] at org.eclipse.jubula.communication.connection.Connection$ReaderThread.run(Connection.java:454) [org.eclipse.jubula.communication_2.0.0.201211131148.jar:na] Caused by: java.lang.IllegalArgumentException: Initial point must not be null. at org.apache.commons.lang.Validate.notNull(Validate.java:203) ~[org.apache.commons.lang_2.4.0.v201005080502.jar:na] at org.eclipse.jubula.rc.common.driver.MouseMovementStrategy.getMovementPath(MouseMovementStrategy.java:52) ~[org.eclipse.jubula.rc.common_2.0.0.201211131148.jar:na] at org.eclipse.jubula.rc.swing.swing.driver.RobotAwtImpl.moveImpl(RobotAwtImpl.java:477) ~[org.eclipse.jubula.rc.swing_2.0.0.201211131148.jar:na] at org.eclipse.jubula.rc.swing.swing.driver.RobotAwtImpl.clickImpl(RobotAwtImpl.java:290) ~[org.eclipse.jubula.rc.swing_2.0.0.201211131148.jar:na] at org.eclipse.jubula.rc.swing.swing.driver.RobotAwtImpl.click(RobotAwtImpl.java:505) ~[org.eclipse.jubula.rc.swing_2.0.0.201211131148.jar:na] at org.eclipse.jubula.rc.swing.swing.implclasses.AbstractSwingImplClass.gdClick(AbstractSwingImplClass.java:490) ~[org.eclipse.jubula.rc.swing_2.0.0.201211131148.jar:na] ... 12 common frames omitted Due to that I reverted the previous change with changeset: http://git.eclipse.org/c/jubula/org.eclipse.jubula.core.git/commit/?id=57be7f2ce10985d9da414e46d4929f5223f4805a Please provide a cross-platform working solution.
Created attachment 223595 [details] Updated Bugfix I have updated the Bugfix, so that for the starting point the center of the root component is used. But only if there is no last Point of the MouseMotionTracker. The Problem is similar to the context menu Problem. It seems that the PreMove did not trigger an Event, and the MouseMotionTracker last position is not set.
The patch has again been reviewed and applied with changeset http://git.eclipse.org/c/jubula/org.eclipse.jubula.core.git/commit/?id=955cfda52f66cf571e80e14393368fc55dae251f
Since we have changed the MouseMovement to fix another issue, we have reintroduced this Problem.(We are not using MouseMovement for ContextMenus at the moment). I am on it.
In Swing now the MouseMovementStrategy is used the hole time. Which fixes the problem as described prior. I changed the mouse movement for the first cascade of an JMenuBar, so that there is no Problem with using the MouseMovementStrategy anymore. Fixed with: http://git.eclipse.org/c/jubula/org.eclipse.jubula.core.git/commit/?id=2e8d1ac14ae1183a8b282c84e0b376e0b99d2849 But now SWT and Swing differs in the use of the mouse movement in the menus and context menus. Since SWT does not use the mouse movement for none of them. It would be a nice idea to introduce the same movement in the SWT implementation (that on menus the first movement is on the y axis).
Since the enhancement Bug 394179 this issue reoccurs. The fix is only implemented in the old classes, and must be implemented for the refactored classes.
Fixed with commit: http://git.eclipse.org/c/jubula/org.eclipse.jubula.core.git/commit/?id=f0cb112333209e4aaf4898e4c085d040ec9bc5d7
Swing context menu tests were executed successfully this weekend (see attached test results). Closing this ticket.
Created attachment 225602 [details] Test results