I am a test automation engineer and I use Selenium to automate testing of our web interface application. I need to work with stable HTML IDs which are created by Front End Developers.
Unfortunately from time to time (once in a month) the Front End Developers change the HTML IDs to optimize their naming, which leads to the Continuous Integration pipeline breaking. They then come to me and ask me to fix the pipeline as soon as possible. The fix takes two hours, but it is very stressful for me to change my focus from my own ticket to their problem, and I get sad when somebody pushes me to do something ASAP.
I have discussed this problem with them multiple times, but it continues to happen again and again.
My understanding of the problem
I think the main root of this issue is that the Front End Developers do have any costs for making this problem. They break the tests and then simply push me to fix it as soon as possible. So, this problem should be fixed at my expense.
My solution to the problem
I think I should tell them that next time if they break the integration tests I will not fix it, or it would be my very last priority no matter how long would it take.
They can roll back their changes so the tests work as before. I already asked them to think twice about their naming of IDs so we do not need to optimize them.
Advantage and disadvantages of my solution
I think in this way they will learn that they should not break the test and then push their colleague. I am worried if my decision will disturb our team-work, or make them unhappy or demotivated. I do not believe in punishment but I need to somehow stop them.
What should I do in this case?
Alternatively, the Front End Developer who usually breaks the tests is leaving the team in 2 months. The other solution is to say nothing and just hope that, when he leaves the project, everything become fine. Is it a better solution ?