I have a large ember.js web site and need to produce tests quickly using kantu. Unfortunately when playing back my recordings they fail because ember.js use of dynamic id’s. How can I fix the issue?
I had the same issue, but the FAQ answers it:
How to click a button with a changing ID (partial ID match)?
On some websites the ID of a button (or an element in general) is changing between different page loads (dynamic ID). This means the test case macro will fail at replay as the button has a new ID after each page refresh.
Solution: Typically some part of the ID remains constant e. g. post-123456
and post-555555
. We can use XPath’s starts-with
or contains
functions to search just for the stable part of the ID. So the selector will be something like this: //*[contains(@id, ‘post-’)].
See here clickAndWait, click - Selenium IDE Commands Tutorial
i am also working with dynamic id’s, however what I need to do if fill in text boxes. The issue is the id on all the boxes starts out the same like id=text_random number, and this number will change every time the macro is run. To put a more interesting spin on this. there are 400 of the text boxes on this page I need to fill data in. Which is the same data in each box. I have managed using xpath to get kantu to fill one box in but it will not proceed any further.
Hello! Have you seen this info yet? => clickAndWait, click - Selenium IDE Commands Tutorial
If yes, can you post a link to a website? Then I could check what is going on.