[MGNLTEST-173] Fix timing issues on Form P.O. Created: 28/Jun/21  Updated: 09/Nov/23

Status: Selected
Project: Magnolia Test Framework
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Maxime Michel Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: VN-Testing, shaky-test
Remaining Estimate: Not Specified
Time Spent: 2d 1.5h
Original Estimate: Not Specified

Attachments: File AssetsCoreFunctionalTests_renameFolder.flv.mp4    
Issue Links:
Relates
relates to MGNLTEST-89 pageobjects.Form#openTab does not wor... Closed
relation
is related to MGNLTEST-178 Sporadic test failures on Form#setCod... Closed
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Date of First Response:
Epic Link: core-TF-features-bugs-improvements
Team: Foundation
Work Started:

 Description   

Context

Issues appear e.g. on

  1. #setTextField -> leads to validation error (see Detail example of a failure below)
  2. #save ->  leads to an issue - if the form has not yet disappeared as expected. 

 


Detail example of a failure

I  (Maxime) was testing upgrading Docker when I ran into this failing test. It looks like the test algorithm is not accounting for all the internal dialog mechanics. When slowed down, what happens is the following:

  1. dialog opens
  2. field is cleared
  3. 'Save changes' button is clicked
  4. validation error happens
  5. new name is typed into the field (too late)

Which obviously leads to a failed test.

 


Acceptance criteria

  • Usage of form field setter methods work reliable.
  • Have test methods on FormTest with repetitions (via JUnit).
  • If possible - use VaadinWebDriverWrapper to ensure async communication with the server is finished.

Developper notes

A 1st PR was using Selenium to check whether "things are done"

  • whether a field has the expected value after setting it.
  • whether the form disappeared
    But that seems too explicit. Instead  we should rather check whether async communication to server is done.

 



 Comments   
Comment by Christoph Meier [ 29/Jul/21 ]

Since this leads to many, many arbitrary failures on jenkins - I haves raised the priority.

Comment by Maxime Michel [ 20/Sep/21 ]

Sept. 20th status:

  • write a new test that adds a value to a text field and hits save
  • mmichel to verify whether the same Docker upgrade leads to same issue
Generated at Mon Feb 12 07:46:17 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.