| Summary: | AGR Recorder does not distinguish between two controls on the same panel if they have the same text and type | ||||||
|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Joe Toomey <jptoomey> | ||||
| Component: | TPTP | Assignee: | DuWayne Morris <dmorris> | ||||
| Status: | CLOSED FIXED | QA Contact: | |||||
| Severity: | major | ||||||
| Priority: | P1 | CC: | jerome.gout, kendricw, paulslau, rohit.shetty, Sanchali.Kshirsagar, SluhayOlesia | ||||
| Version: | unspecified | Keywords: | plan | ||||
| Target Milestone: | --- | ||||||
| Hardware: | PC | ||||||
| OS: | All | ||||||
| Whiteboard: | |||||||
| Bug Depends on: | |||||||
| Bug Blocks: | 170651, 207253 | ||||||
| Attachments: |
|
||||||
|
Description
Joe Toomey
I can reproduce this with the datapool editor but I can't have it reproduced with the browse button of the JUnit editor. I'm setting the priority to P1 and the severity to major. Liz, please take a look at it. Please provide an estimated sizing for this defect. Will be included in the 4.4 plan. Please target to a 4.4 iteration. Updating target to 4.4i3 as 4.4i2 ends 03/16/07. This is also an issue with the Logical and Resource actions on the Test Navigator toolbar. To work-around this issue, set the ID of the action to the text label so it can be distinguished from the other action(s). This defect is a candidate for deferral from the 4.4 release. If the originator has opposition, please provide an argument against this deferral. Assigning to i4 since i3 is complete but this defect belongs to a block of in-plan 4.4 defects that are candidates for deferral. Approved for deferral from 4.4 by PMC. Retarget to 4.5. Reassigning to Project Lead until new Component Lead is assigned. Bulk update of the target field to reflect the change in iteration numbers. *** Bug 210939 has been marked as a duplicate of this bug. *** Changing target to 4.5i5. I have a solution for the case where the button labels are in the same composite child list. The general case I didn't finish yet is where the buttons with the same label are in separate composites that are part of a bigger composite (such as the Datapool editor) where I don't want to break other cases by using nailing it without climbing the object trees properly to verify that duplicates exist and identifying the proper object for playback. This will be top priority as soon as the i4 test pass and automation work is completed. Updated hours worked on this defect. Additional time spent to become familiar with the AGR code is not included. This code is mostly new to me.
As a result of a discussion with Paul regarding the fix for this defect, it was determined that the following would be a reasonable approach:
1. For those buttons that are siblings in the child list with the same label, there will be a change in weighting to favor the ID of the correct button. For some unkown reason today I am unable to reproduce this problem with the button ID weighting unchanged. However, I had previously seen this issue for both project import and the JUnit test wizard on one of the builds last week. So, I think it is worth increasing the weighting.
The weighting before changes was as follows in NonTrivialObjectResolver.java:
new Object[] {text, "0.3"},
new Object[] {hoverText, "0.3"},
new Object[] {String.valueOf(children.length), "0.3"},
new Object[] {size, "0.2"},
new Object[] {location, "0.1"},
new Object[] {String.valueOf(buttonInx), "0.2"},
One part of this that seems a bit odd is the relatively heavy weighting of the children.length at 0.3. So, ONLY in the case where a button is selected by the user and there is more than one button with the same label in the same child list that appears BEFORE the selected button, I am changing the weighting of the button index to 0.4 and children.length to .1. If this causes problems, we can revert to the code before the change. Also, as Paul pointed out, all of these problems are with buttons that have no hover text. It is suggested that tool tips should exist in the code for these buttons and it is speculated that tool tips would help significantly in identifying the widget with existing AGR code.
2. For the datapool editor, the issue is that there are buttons with duplicate labels under separate composite parents. Thus, the above modification has no effect, since the buttons are being processed by a different resolver and would not be detected since they are not siblings under the same composite object. What is proposed in cases such as this one is that the owner of the code should provide hover text for the button. It was agreed in our call that a separate defect would be filed against the datapool editor to provide a tool tip for these buttons to allow automated testing.
Created attachment 85610 [details]
Patch to NonTrivialWidgetResolver.java
Adding patch for changes made.
Change delivered to CVS, marking as fixed. (In reply to comment #13) > 2. For the datapool editor, the issue is that there are buttons with duplicate > labels under separate composite parents. Thus, the above modification has no > effect, since the buttons are being processed by a different resolver and would > not be detected since they are not siblings under the same composite object. > What is proposed in cases such as this one is that the owner of the code should > provide hover text for the button. It was agreed in our call that a separate > defect would be filed against the datapool editor to provide a tool tip for > these buttons to allow automated testing. Thanks Duwayne. These changes to the datapool editor can be done under defect https://bugs.eclipse.org/bugs/show_bug.cgi?id=170651. Verfied in 4.5i8. Closing. |