Im having an issue with the suite testing, i have a list of users which im testing to perform a task, the only thing that changes everytime the task is performed is the user.
i have 9 users, but for some reason a user with same privileges with same task FAILS, the reason is
click(findTestObject(“Page_Solicitud de Licencia/input_Icono Licencia_BTNBOTONG”)) FAILED. Reason: com.kms.katalon.core.exception.StepFailedException: Unable to click on object ‘Object Repository/Page_Solicitud de Licencia/input_Icono Licencia_BTNBOTONG’ (Root cause: org.openqa.selenium.ElementNotVisibleException: element not interactable
however the other users dont have this issue, any ideas?
It’s not easy to give a definitive answer. Maybe the browser starts responding faster (at least, it might appear that way after some caching has taken place). The earlier objects might be okay at the “slower” speed but the later ones might struggle. But that’s just a guess.
You will frequently find that ALL tests need to conform to the slowest/weakest part of the setup. Just one of those things. Your job is to write tests that can handle any browser behaving as badly as it possibly can. Treat it as a challenge
Usually i use the “wait for element visible,” but ill check on the other ones tomorrow, usually i set the preferences to perform a task with a 3 second difference from each other, and was using delays, the most useful lately has been wait for browser or something like that.
I might try tomorrow to add a 4-5 seconds difference.
Finally ive solved it, ive been working for a few days on a task and what ive discovered was that the object i was clicking took a few seconds to “recognize” it was being clicked, so after the click ive added a “wait for page to load” and then worked, thank you.
Sometimes I’ve had to add code (JavaScript) that waits for a page to unload – that is, not caring what is being loaded, just needing to know when the current page is gone and a new page has started to load.
Not saying you need to do that… that’s for you to decide.