Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Robotic Fingers
Search
Thomas Bartelmess
April 21, 2013
Programming
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Robotic Fingers
Thomas Bartelmess
April 21, 2013
Other Decks in Programming
See All in Programming
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
1.1k
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
220
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
380
カツオ、ご期待ください
suneo3476
0
190
パスワード再設定メールのURLについて知っておこう
uyuki234
0
160
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
280
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.1k
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
170
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
460
AWSに止められる覚悟してますか?
morizo_1984
2
540
Featured
See All Featured
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
410
Exploring anti-patterns in Rails
aemeredith
4
540
Game over? The fight for quality and originality in the time of robots
wayneb77
1
300
A Soul's Torment
seathinner
8
3.8k
HDC tutorial
michielstock
2
960
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
480
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
First, design no harm
axbom
PRO
2
1.3k
How STYLIGHT went responsive
nonsquared
100
6.3k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
GraphQLとの向き合い方2022年版
quramy
50
15k
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!