A computer implemented method of software testing may include obtaining multiple interactive elements from an event-driven software application. The interactive elements may be configured to be selected by a user and when selected result in an event in the event-driven software application. The method may also include determining which of the interactive elements may be user interactive in a first state of the event-driven software application. In some embodiments, determining which of the interactive elements may be user interactive may include obtaining one or more coordinates of a first interactive element and determining if the first interactive element is a top layer interactive element at any one of the one or more coordinates. The method may further include testing the event-driven software application based on the user interactive elements.