Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request - limited expressiveness of default query language #3

Open
ondrejhanslik opened this issue Apr 8, 2013 · 0 comments

Comments

@ondrejhanslik
Copy link
Contributor

I am evaluating Frank for the purposes to rewrite some UIAutomation tests to be more robust and I noticed that some use cases cannot be expressed because the query language is not expressive enough.

Simple examples:

  1. I want to get all subviews of a view. Not all views in that view, only the direct subviews.

    Use case: I am trying to get section headers from a UITableView ("table")
    Possible solution: Apart from "view: " filter, add a "subview:" filter.

  2. The "index" filter relies on subview ordering which is not reliable (especially in UIScrollView when the ordering can change due to optimizations or UITableView where cells are dynamicaly added/removed), so it can be used only to list elements but not to access a specific element.

    Possible solution: Add sorting filters (e.g. UIAutomation sorts elements by their accessibility frame origin).

  3. Impossible to access modal (presented) controllers, they are added as another "view" in the hierarchy.

    Use case: when a modal controller is displayed, I want to access elements inside it.
    Possible solution: Add a specific filter to access elements inside a modal controller.
    Current workaround: Tampering with ""view:'UIDropShadowView'"

  4. Impossible to access popovers.

    Use case: Popovers are a major use case for all iPad application.
    Possible solution: Add a specific filter to access elements inside a popover.
    Current workaround: Tampering with "view:'_UIPopoverView'"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant