iOhYes Retired

iOhYes

A podcast by iOS developers for iOS developers, delivering news, tips, and rants for professional iOS/Mac developers, with something for enterprise and indie developers alike.

Hosted by Darryl Thomas and John Sextro.



← Previous Episode   |   Next Episode →

6: Episode 6 - Bwoken UIAutomation

November 21, 2012 at 5:00PM • 1 hour 1 minute • Wiki Entry

Exec releases new iOS app

  • Basically all custom controls (no UIKit).
  • Good or bad?
  • Is this devs not pushing back on designers not using standard UI/UX?
  • (more)

Oprah promotes Surface via iPad (more)

Apple Stock price slides 20%

  • Profit taking?
  • Beginning of the End?
  • (more)

UIAutomation

  • mechanic.js
    • Why it exists - UIAutomation is powerful, but it’s API leads to verbose and brittle code.
    • Helps you get the elements you care about and interact with them in a terse and readable way
    • jQuery for UIAutomation - helps you “find” the elements you want in very little code
      • mechanic performance
        • generally does a tree traversal starting at the selector’s context (defaults to the frontMostApp()) - however, the performance gains are at the scale of user interactions like taps and scrolls, so the performance hit is inconsequential.
        • a “non issue”
        gotchas - as your App’s “DOM” changes, the selectors need to be “re-ran”
      • UIAutomation equality is broken, which makes more obscure parts of mechanic simply not work
        • Iterating a UIAElement’s children and comparing a child to itself via indexor comes back as not equal.
        • Combined with Jasmine UIAutomation shim makes for very readable, maintanable UI tests/specs
  • Jasmine UIAutomation shim -  git://github.com/mczenko/UIAutomation-jasmine-iphone.git
    • Allows tests to be more BDD-focused. Elements some of the verbosity of UIAutomation tests - better separation. Great for fans of RSpec and Jasmine
  • UIAutomation CI integration
    • Not the easiest, due to simulator state
    • There are workarounds
    • Bwoken is a ruby gem that can make your life easier for running your UIA tests in CI
    • Adam has a very rudimentary XSLT to convert OCUnit output to JUnit XML output for Jenkins test reporting.

iOS Picks

Adam Axe

  • CS193P - New iBooks Author based text book for free

John Sextro

Jason Kozemczak

  • Foundation/UIKit header files (lots of insight into how the classes architected; good place to learn about API design)
  • CKCalendar gets new features: (height change delegate method, fixed height setting, “fill calendar” option, improved performance, etc.)