Could Anyone Provide the Best Ways to Manage Changing User Interface Elements in Eggplant Functional?

Hello Everyone :hugs:,

Eggplant Functional has been my go-to tool for automating our web application testing for a time now. Dealing with dynamic user interface elements that alter regularly as a result of our application’s frequent upgrades and modifications is one of the issues I regularly face. My scripts break frequently as a result of these changes, thus I’m seeking for practical solutions.

Is there anyone that can provide advice on how to manage dynamic UI elements in Eggplant Functional?

In particular, I’m curious about:

Methods for Recognising Dynamic Elements: What are some reliable ways to recognise and work with UI elements that change frequently? Are there any particular qualities or traits that I should pay attention to?

Using SenseTalk for Dynamic Elements: How can these dynamic changes be handled with SenseTalk scripting? What are some efficient methods?

Preserving Script Stability: How can you make sure your scripts don’t break or become unresponsive as the user interface changes over time?

Utilising Eggplant Features: Are there any particular tools or Eggplant Functional features made to handle dynamic user interfaces (UIs) more effectively?

I’m eager to see your suggestions. Thank you :pray: in advance.

Here are some of my go-to best practices:

  • Use OCR instead of images. Hopefully, for both your sake and your customers’ sake, your developers have some consistency in the UI from one iteration to the text (e.g. an icon shape changes but its label remains the same).
  • Establish a good “zero state” by ensuring that the cursor’s position is not causing any UI elements to be obscured or change color. A simple way is to incorporate MoveTo(1,1) into your script.
  • Create image collections to account for different versions of the same UI element. Creating an Image Collection | EPF Docs
  • Increase the Tolerance value of images slightly to allow for minor changes in the color or shape of icons. The Image Viewer | EPF Docs

Hope this helps,
Dave