Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Robotic Fingers
Search
Thomas Bartelmess
April 21, 2013
Programming
0
84
Robotic Fingers
Thomas Bartelmess
April 21, 2013
Tweet
Share
Other Decks in Programming
See All in Programming
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
5
440
CSC307 Lecture 09
javiergs
PRO
1
830
Patterns of Patterns
denyspoltorak
0
1.4k
AI & Enginnering
codelynx
0
110
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
120
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
Fluid Templating in TYPO3 14
s2b
0
130
2026年 エンジニアリング自己学習法
yumechi
0
130
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
380
Oxlint JS plugins
kazupon
1
890
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.4k
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
190
Featured
See All Featured
sira's awesome portfolio website redesign presentation
elsirapls
0
150
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
65
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
130
Fireside Chat
paigeccino
41
3.8k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
64
30 Presentation Tips
portentint
PRO
1
210
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
0
250
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
210
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
Music & Morning Musume
bryan
47
7.1k
Transcript
Robotic Fingers OS X UI Automation with AXElements
`whoami` I am Thomas Bartelmess. I am from Germany and
moved to Canada a couple years ago. I work at Marketcircle. We make software for small business. Sometimes I tweet @bartelmess.
UI Testing • Simulate a user using your application •
Addition, not replacement for unit testing
Mac OS X UI Automation iOS Accessibility API JavaScript Instruments
?
AX Elements
Mac OS X UI Automation iOS Accessibility API JavaScript Ruby
Accessibility API Instruments Text Editor/Command Line AXElements
Accessiblity • API to interact with User Elements • Used
by OS X to provide tools like VoiceOver • Available on OS X and iOS
Your app must be accessible • Most things just work
• Custom views may need extra help • If your app is not accessible, it’s a good idea to do so - there are people who need it
Accessibility in 15 seconds • A simplified tree of you
view hierarchy • Every element has properties • Some of them can be modified
Inspecting Accessibility
AXElements in 45 seconds Step 1: Get the Application app
= app_with_bundle_identifier('com.apple.AddressBook') set_focus_to app
AXElements in 45 seconds Step 2: Find an element my_button
= app.button(id:'contactsPlusButton') my_textfield = app.text_field(id:'_NS:123') my_button = app.button(title:'My button title')
AXElements in 45 seconds Step 3: Do something with the
Element click my_button set my_text_field, “Hello World”
Example require 'rubygems' require 'ax_elements' app = app_with_bundle_identifier('com.apple.AddressBook') set_focus_to app
click app.button(id:'contactsPlusButton') click app.check_box(id:'_NS:480') set app.text_field(id:'_NS:367'), 'NSNorth' click app.check_box(id:'editButton')
Example
Testing • There are a lot of good ruby testing
frameworks • Rspec • Cucumber • Minitest
How do I get it $ gem install AXElements You
need Ruby 1.9 (or MacRuby)
More Information • AXElements.com • github.com/AXElements • rdoc.info/gems/AXElements/ • Apple
documentation for Accessiblity
Thanks!