Ben Norris

Fall trees around path

Gorgeous view on my way in to work this morning. Feeling blessed.


Pumpkins carved by my children

Feeling lucky to be a dad today. Halloween is such a magical time! πŸŽƒ


Historic building in Portland

Found a gorgeous old building in Mt. Tabor park out walking in Portland last night


πŸ“– 🎧 Star Wars: Vision of the Future

By Timothy Zahn


πŸ§ͺ UI-TDD with Xcode Part II

As I wrote about last month, I was able to speak at Cocoaheads on some work we have been doing with Xcode UI Testing. I am speaking again tonight at a different Cocoaheads group, which is exciting for me.

I had created a sample project for my presentation last month, but lost the project when my computer died and had to get the logic board replaced. I have recreated the sample project, and am happy to share it here:

UI Testing Example

And just in case you would like to download the slides for reference, here is a link to the PDF:

UI TDD Presentation (5 MB)

And you can view a recording of the presentation here:


πŸ“– 🎧 Star Wars: The Last Command

By Timothy Zahn


πŸ“– 🎧 Star Wars: Dark Force Rising

By Timothy Zahn


πŸ“– 🎧 Star Wars: Heir to the Empire

By Timothy Zahn


πŸ“– Rules of Deception

By Christopher Reich


Feeling like a lucky guy today. Brought my daughter to a teen motivational conference and my wife encouraged me to take the day to relax and recharge. πŸ°πŸ’»πŸŽžβ˜ΊοΈ


πŸ“– πŸ› Into the Silence: The Great War, Mallory, and the Conquest of Everest

By Wade Davis


Sunburst before sunset

Just before the dark, a brilliant burst of light


At a Cocoaheads meetup listening to a presentation on shortcuts and tricks in Xcode. I was reminded how important it is to keep learning and realize that you will never know everything. New knowledge can always come from unexpected sources.


πŸ§ͺ UI-TDD with Xcode

Last week I had the opportunity to present at our local Cocoaheads meetup. At work, I have been focused on testing more as of late, and have been working to get our UI tests in much better shape.

I adapted an approach that our Test Engineering department has been taking with automated tests for our web apps. Essentially, we create a page object to represent each screen in the app, and include all of the elements, actions, and verifications needed for that screen. Then the actual UI tests just reference the page objects using the exposed API of actions and verifications. As an example, this has changed a call from this:

XCUIApplication().tables.children(matching: .cell).element(boundBy: 0).staticTexts["2018-07-03 20:45:14 +0000"].tap()

to this:

.tapOnCell(at: 0).

I have really enjoyed the productivity boost this has given us, along with the safety and security of good test coverage and wanted to share this approach with the community. Included below is a PDF of my presentation.

UI TDD Presentation (5 MB)

Update: The talk was recorded and can be viewed here:


πŸ“– 🎧 The Seven Principles for Making Marriage Work

By John M. Gottman


πŸ“– 🎧 Radical Candor

By Kim Scott


I have felt pretty overwhelmed lately. Keeping everything I need to get done in Things has been a lifesaver. It’s so fulfilling to be able to check things off and know that I am getting the most important things done.


I have felt pretty overwhelmed lately. Keeping everything I need to get done in Things has been a lifesaver. It’s so fulfilling to be able to check things off and know that I am getting the most important things done.


πŸ“– 🎧 Measure What Matters

By John Doerr


πŸŽ₯ Mission: Impossible Fallout

Alone


πŸ“– Hondo

By Louis L’Amour


πŸ“– The Haunted Mesa

By Louis L’Amour


πŸ“– 🎧 The Five Love Languages

By Gary Chapman


πŸŽ₯ Jurassic World

Double Date


πŸ“– 🎧 The Power of Vulnerability

By BrenΓ© Brown