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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
120
「ブロックテーマでは再現できない」は本当か?
inc2734
0
940
CSC307 Lecture 04
javiergs
PRO
0
660
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
510
Package Management Learnings from Homebrew
mikemcquaid
0
210
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
540
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
450
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
430
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
1
230
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
190
CSC307 Lecture 09
javiergs
PRO
1
830
SourceGeneratorのススメ
htkym
0
190
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
432
66k
WENDY [Excerpt]
tessaabrams
9
36k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
140
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
280
Being A Developer After 40
akosma
91
590k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
49k
Paper Plane
katiecoart
PRO
0
46k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
640
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!