Permalink
Switch branches/tags
Nothing to show
Commits on Mar 29, 2012
Commits on Mar 28, 2012
  1. This gets the entire acceptance test passing.

    I'm not quite happy with the way the navigation bar title is found.
    
    It appears to be using the view model rather than the actual view and
    so passes before the view is on screen.
    committed Mar 28, 2012
  2. Get the first part of the failing test to pass.

    We can now get a window driver for the main window from the application
    driver, and a navigation driver from the application driver (which just
    delegates to the window driver).
    committed Mar 28, 2012
  3. Lets start by pulling some common driver functionality up into an

    abstract class. We should be careful what goes in here. We don't
    want it to do too much.
    committed Mar 28, 2012
  4. Added a new failing acceptance test and fixture.

    This commit has just enough work to get the test compiling but failing.
    
    I'm taking a different approach here; instead of initialising drivers
    directly, I'm starting with a new top level driver for the application
    and drilling down into different elements, similar to how UIAApplication
    works in UIAutomation.
    committed Mar 28, 2012
Commits on Mar 26, 2012
  1. Added small README

    committed Mar 26, 2012
  2. Structured the demo app to use view controllers as individual test

    fixtures that can be loaded from within the tests.
    
    This revealed two bugs; one with the hit testing of taps - the centre 
    point of a view needs to be relative to its origin, not the window - 
    and also with tagged view location - the tagged view finder needs the
    immediate parent which is no longer the window, but the container view.
    committed Mar 26, 2012
  3. Delaying the appearance of the button drives us to make interactions use

    probes to poll for the view we want to interact with.
    committed Mar 26, 2012
  4. Use my new dynamic predicate matcher functionality in Expecta to simp…

    …lify
    
    the way matchers can be generated for drivers.
    committed Mar 26, 2012
  5. Introduce a polling prober which is used by drivers.

    All assertions (and eventually, all actions) will be implemented through
    pollers which ensures we can assert and perform actions against views 
    asynchronously.
    committed Mar 26, 2012
  6. Start to migrate view selectors/finders to a probe-based architecture,

    where they can be checked periodically until they are satisfied.
    
    This change drove out the need to re-introduce AKSingleViewFinder as it
    has different requirements to be satisfied as a probe than AKRecursiveViewFinder.
    
    A convenience method on AKRecursiveViewFinder returns itself wrapped in
    a single view finder which makes this a bit nicer to use than before.
    committed Mar 26, 2012
  7. Make the type of view to search for an explicit part of the finder in…

    …terface,
    
    rather than using a criteria object.
    committed Mar 26, 2012
  8. Introduce a slight delay in the label appearing and remove the Expecta

    asynchronous matcher calls to force us to implement asynchronous probing
    of UI elements.
    committed Mar 26, 2012
  9. There is no need to use this as a proxy to another finder; finders can

    implement both AKViewFinder and AKViewSelector if they wish.
    committed Mar 26, 2012
  10. Implement a new type of finder, AKRecursiveViewFinder that recursively

    tries to find subviews from a root view selector using special Criteria
    objects.
    
    The KeyValue criteria is a simple low-level criteria that uses KVC to
    check object attributes and will probably fulfil a lot of different
    matching requirements.
    committed Mar 26, 2012
  11. A new failing test for finding elements by some property has revealed…

    … that
    
    we cannot have drivers depend on concrete UIView instances, as they may
    not be available at the time the driver is created.
    
    We will need to work towards some kind of asynchronous probing for views
    but we can get part of the way there by having drivers depend on an object
    that implements the AKViewSelector protocol.
    
    A couple of implementations are provided so far; one that simply wraps
    an actual known UIView that we know exists at runtime, one that finds
    a subview using its tag and one that finds the main window.
    committed Mar 26, 2012
Commits on Mar 25, 2012
  1. Abstract low-level gestures (just taps at the moment) behind an Autom…

    …aton
    
    protocol, which we can implement using our UITouch/Event synthesis 
    categories.
    committed Mar 25, 2012
  2. Initial commit.

    Project bootstrap, a walking skeleton and a simple implementation.
    committed Mar 25, 2012
  3. Initial Commit

    committed Mar 25, 2012