This issue has been created
 
 
Release Notes Application / cid:jira-generated-image-avatar-26862fa4-3865-4f7e-bd61-5287d8035ac9 RN-91 Open

The contributors functional test saves without waiting for the asynchronous save to complete

 
View issue   ยท   Add comment
 

Issue created

 
cid:jira-generated-image-avatar-bf0f7033-0901-4581-addb-16e57c2b6100 Vincent Massol created this issue on 31/Aug/26 18:03
 
Summary: The contributors functional test saves without waiting for the asynchronous save to complete
Issue Type: cid:jira-generated-image-avatar-26862fa4-3865-4f7e-bd61-5287d8035ac9 Bug
Affects Versions: 2.5
Assignee: Unassigned
Components: Development Issue Only
Created: 31/Aug/26 18:03
Priority: cid:jira-generated-image-static-major-731457d9-bd76-4621-912b-e8c194252515 Major
Reporter: Vincent Massol
Description:

Problem

In ReleaseNotesIT.contributorsListAndChangeNumbering, the contributors entry is saved with a raw click and the test then navigates away immediately:

setup.getDriver().findElement(By.cssSelector("input[name='action_save']")).click();
ViewPage afterPage = setup.gotoPage(releaseNote);

The inline editor saves over AJAX, so navigating away right after the click can abort the save, and the assertions that follow can fail nondeterministically.

Notes

The same test class already does this correctly ~400 lines later, with a comment naming the exact hazard:

// Save through the page object, which waits for the asynchronous save to complete: reading the saved value
// straight after a click on the button races it, and reads back the value from before the save.
new InlinePage().clickSaveAndView();

So the fix is to use InlinePage.clickSaveAndView() here too.

Related, same method: the textarea is located as By.cssSelector("textarea"), i.e. whatever textarea happens to be first in the DOM, rather than through the page object's field accessor.

More broadly, the class uses getDriver() 20 times. Two other sites are worth moving behind page objects: the Live Data column measurement done with executeJavascript (RN-86 was a bug in that very measurement, now buried as an inline JS string) and the administration field lookups done with raw By.name. The XWiki testing conventions treat a raw findElement in a test as a sign that a page object is missing an API.