healenium / healenium-web

Self-healing library for Selenium Web-based tests
Apache License 2.0
171 stars 40 forks source link

[Need support]: Save Elements asynchronous call in Healenium Web can fail the Healing of Web element. #259

Open ap0087105 opened 11 months ago

ap0087105 commented 11 months ago

Describe the problem

Healing of web element is working intermittently. After successful healing of web element, if try to heal same web element immediately Healing is not working.

While debugging the hlm-Proxy and hlm-Backend code found below calls in sequence while Unsuccessful Healing:

  1. First rest call goes to Save elements
  2. And it updates Postgres DB (selector table) with blank node_path
  3. Then call goes to Get Reference where it read blank Node_path as reference and fail the healing with error message: "New element locator have not been found. There is no reference data to selector in the database.\n Make sure that: \n - There is selector on the page http://healenium-backend-svc:7878/healenium/selectors/ and type: multiple, if not then you have to run successful tests.\n - Your locator was changed on the page and not in code."

In Successful Healing of web element, we get below calls in sequence:

  1. First call is to Save elements but before saving selector data to DB(selector table) call goes to Get Reference of web element and capture the node_path as reference.
  2. Then Save elements call happens and DB get updated with blank Node_path
  3. For Healing the Get Reference send back previously captured data of Node path and healing works.

Can you please check the observation and guide us.

Healenium Web version

3.4.4

Healenium Backend version

3.3.4

Selenium version

4.10

Platform

Python

Properties file

No response

Logs appeared during using Healenium

NA

Additional context

No response

Gauranga27 commented 10 months ago

This intermittent issue is creating alot of problems. Are we supposed to get any bug fix sooner?