There should be a way to make EarlGrey ignore animations |
|||||
Issue description
Earl Grey does not tap on dialog buttons when loading spinner animation is active:
Reason: Action 'Tap' failed.
Element matcher: (((respondsToSelector(isAccessibilityElement) && isAccessibilityElement) && accessibilityLabel("Cancel")) && ((respondsToSelector(isAccessibilityElement) && isAccessibilityElement) && accessibilityTraits: UIAccessibilityTraitButton))
Complete Error: Error Domain=com.google.earlgrey.ElementInteractionErrorDomain Code=3 "Failed to execute action within 30 seconds." UserInfo={NSLocalizedDescription=Failed to execute action within 30 seconds., NSUnderlyingError=0x618000857d60 {Error Domain=com.google.earlgrey.GREYUIThreadExecutorErrorDomain Code=0 "Failed to execute block because the following IdlingResources are busy: ['GREYAppStateTracker']
Busy resource description:
GREYAppStateTracker : Waiting for CAAnimations to finish. Continuous animations may never finish and must be stop explicitly. Animations attached to hidden view may still be executing in the background.
This can be reproduced by running HTTPAuthTestCase on iPad.
,
Feb 15 2018
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue. Sorry for the inconvenience if the bug really should have been left as Available. If you change it back, also remove the "Hotlist-Recharge-Cold" label. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Feb 15 2018
Eugene, have you tried disabling EG synchronization for that test and using WSO callbacks to gate on navigation events? That worked for a similar issue I ran into writing an EGTest for JS onload events since the activity indicator spun indefinitely until the dialog was dismissed. Example CL: https://codereview.chromium.org/2825673003 If that's not the case, feel free to reassign. I'm not sure who should be handling this type of issue now that baxley is gone, though.
,
Feb 15 2018
kGREYConfigKeySynchronizationEnabled does not always work (like in case with HTTPAuthTestCase on iPad). I'm not the right owner for EG framework bugs. Yuke, Menglu, who would be the right owner here?
,
Feb 15 2018
This seems to be EarlGrey bugs. I don't think they're still working on it. Marking it as available. Since we have the workaround to disable synchronization, maybe we should close the bug?
,
Feb 15 2018
We do not have a workaround. kGREYConfigKeySynchronizationEnabled does not work for HTTPAuthTestCase.
,
Feb 16 2018
How many tests are affected by this issue? As far as I know, the EarlGrey team is fully committed to releasing EarlGrey 2 right now, so if it's a framework bug, it's very unlikely they can get to it any time soon, would it be reasonable to revisit this issue after switching to eg2?
,
Feb 16 2018
A lot of test have to use ugly kGREYConfigKeySynchronizationEnabled. kGREYConfigKeySynchronizationEnabled does not work only for HTTPAuthTestCase suite. What is the synchronization model for EG2? Same as for EG1? Wait for all CoreAnimation activities to complete?
,
Feb 16 2018
Yes, it will be the same as EG1. Per comment #1: "Someone tried to solve it, but they encountered flake issues.", it looks like there was a solution, but didn't work due to flakiness issues. One big selling point of EG2 is that it will be less flaky than EG1, so hopefully, this won't be an issue in EG2. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by baxley@chromium.org
, Jan 13 2017