And then there is the most frustrating part for me and many other developers: maintenance. Usually, you would go and look for every time there is an interaction with parts that were changed, and then update selectors, steps, etc. - This may sound easy but it uses up a lot of time and is sometimes a very frustrating task, especially if you overlook some parts. Testkit solves a bit of this problem already, by capturing fallback selectors on every test run (E.g. find an element by XPath, innerText, sibling, etc.) - and whenever a step doesn't find the selector, it will try to find the new selector by trying out the fallback selectors that were previously captured. So it basically auto-fixes selector changes.