Issue with id changes

I have a problem with each deployment of the application, the ids change, this creates the regressions in the test script.
it wastes my time inspecting and then, looking for the new xpath or id each time for the test to be passed.

How can I avoid this so that my test still during the deployment of the application?

Can you give us an example showing the HTML of one of your elements that needs a new xpath? That way, we can evaluate another method for you.

such as this text field, before deployment, the input went very well
but after now, all the text fields, changed id.
so the test fails.

e.g :

thank you for helping Dear @grylion54

You say changed “id” but since I don’t see the “id” tag, do you mean changed “name” or changed their identification pathway? If you launch the web page again, does the “name” identification for the **Bank Reference" element change? Or, do you believe the “name” identification will change when you get another release?

Edit: Oh, I see on another forum question that you have an “id” tag out of view above what you show us here. I will check back after to see what you get as an answer from them.

So it not changes, but does not work after deployment.
it seems like id, xpath what i used are not stable.

I don’t know!

See if this format is more “stable” than the style you have (it is only valid for id attributes):
What you have:
//div[@id='bank_reference']/div/input

My suggestion:
id('bank_reference')/div[1]/input

Do you know if the name tag is dynamic or static? If it is static, perhaps we could use that?
//input[@name='j_idt319']

The tag is dynamic, that why id changes in each deployment.

So when the tag is dynamic, how can i solve the issue due to click? if you got an idea.

Thank you very much Dear @grylion54 for your help.