21 takes into account 8 different properties to find objects. All are agnostic to the user, who just points to the element and clicks on it. Under the hood we autonomously look up any of the following unique attributes:
If we find unique IDs we store them and use them during execution time.
Bounds – We calculate the bounds of the element and look for elements with the same bounds.
Position on the screen – We calculate the relative position of the element on the screen.
Both mechanisms includes a complex system that converts coordinates from one screen resolution to another. Different development frameworks convert differently from one screen resolution to another.
Some elements are two small to covert or might be identical and close to each other. We automatically keep track of the parents, siblings and children assuming one of them would be unique.
Finally in cases were we still can’t find the element we’ll use computer vision to find the element on the viewport, use metadata to find its position and use Tap (x,y) to perform the action. Computer vision adds delay to tests which is why we use it selectively and autonomously when needed.
Got a question? Reach out. We’d love to hear from you