Details
-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
18.4.5
-
Unknown
-
-
org.xwiki.administration.test.ui.AllIT$NestedUsersGroupsRightsManagementIT#createAndDeleteUser
Description
The functional test org.xwiki.administration.test.ui.AllIT$NestedUsersGroupsRightsManagementIT#createAndDeleteUser fails intermittently on ci.xwiki.org.
Occurrence
- Seen in https://ci.xwiki.org/job/XWiki%20Environment%20Tests/job/xwiki-platform/job/stable-18.4.x/139/testReport/ (commit 89eec5c383f), environment: PostgreSQL latest, Tomcat 11-jdk25, S3 blob store, Chrome.
- History: 1 failure in 35 builds (stable-18.4.x main + environment jobs); passes on master, stable-18.8.x and stable-17.10.x.
- Local verification on 89eec5c383f: the whole module passed with the CI Maven options, and the test passed 20/20 when repeated alone.
Error
org.openqa.selenium.TimeoutException: Expected condition failed: waiting for org.xwiki.test.ui.XWikiWebDriver$$Lambda/0x00007f8898ce7630@2125b08f at org.xwiki.test.ui.XWikiWebDriver.waitUntilCondition(XWikiWebDriver.java:229) at org.xwiki.administration.test.po.RegistrationModal.waitForLiveValidationSuccess(RegistrationModal.java:57) at org.xwiki.administration.test.ui.UsersGroupsRightsManagementIT.createAndDeleteUser(UsersGroupsRightsManagementIT.java:284)
Analysis
The wait that times out is RegistrationModal#waitForLiveValidationSuccess(), i.e. waiting for no .LV_invalid field in #createUserModal. AbstractRegistrationPage#fillRegisterForm fills the password confirmation before the password, so the confirmation relies on being re-validated when the password changes. The most likely explanation is that this re-validation occasionally does not happen before the wait expires, leaving a field marked invalid. Not confirmed: the CI failure has no DOM dump showing which field stayed invalid.
Possible fix
Wait for the individual fields to be valid (or blur the password field) before waiting for the global validation; if it still fails, capture which field is invalid.