Error 'The UI element is invalid...' occurred when using a library (reusable component)


I have 2 projects: Library (contains all reusable components) and Automation (contains all test cases using published libraries).
and there is a common library ‘Log-in’, when I re-use and run it as test case at Automation → an error ‘The UI element is invalid…’ occurred. But it works perfectly when I am running it directly at Library side.

Please help if you have any ideas on this. Thanks

Hello @hoang.truong, try solving it with some of these steps:

  1. Project Dependencies:
  • Ensure that both your Library and Automation projects have the correct dependencies and package versions. Mismatched dependencies can cause issues with component interactions.
  1. Selectors:
  • Review the selectors used in the Login component. If any selectors are relying on specific window titles, application paths, or dynamic elements, they may need to be adjusted to work within the context of the Automation project.
  1. Arguments and Variables:
  • Double-check that any arguments or variables used in the Login component are being passed correctly from the Automation project. Ensure that data is being passed in the expected format.
  1. Initialization Order:
  • Confirm that the Login component is being called at the appropriate point in your Automation project’s workflow. It should be called after the application or browser is open and ready for interaction.
  1. Application State:
  • Verify that the application or webpage you are interacting with in the Automation project is in the same state as when you tested the Login component in the Library project. Any differences in the application’s state could affect selector validity.
  1. Simulate Click and Type:
  • Consider enabling the “Simulate Click” and “Simulate Type” properties in the activities within your Login component. This can help improve reliability in some cases.
  1. Element Existence and Visibility:
  • Implement checks for element existence and visibility before interacting with UI elements in your Login component. This ensures that the UI elements are available and ready for interaction.
  1. Debugging and Logging:
  • Add logging and debugging activities to your Automation project to trace the flow of execution and identify the exact point where the “UI element is invalid” error occurs. This can provide more insight into the issue.
  1. Dynamic Elements:
  • If your application uses dynamic elements or if the component relies on selectors that change, consider making selectors more robust using wildcards or by finding more stable attributes.
  1. Retry Mechanism:
  • Implement a retry mechanism for activities that interact with UI elements. Sometimes, UI elements take a moment to load, and retries can help ensure successful interactions.

Cheers! :slight_smile:

thanks for your advice.

if it solved your problem, please select the answer as the solution so the topic gets closed.

Cheers! :slight_smile: