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
Gnomeとdogtail
Search
Masami Ichikawa
August 22, 2010
Programming
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Gnomeとdogtail
Masami Ichikawa
August 22, 2010
More Decks by Masami Ichikawa
See All by Masami Ichikawa
cgroupsとプロセス生成・終了処理
masami256
1
1.4k
Linux の Debug 機能
masami256
0
120
Linux Namespaces
masami256
0
93
slub: alloc and free
masami256
0
100
SLUB data structures
masami256
0
140
SystemV IPC
masami256
0
140
Linux Namespace
masami256
0
97
とある帽子の大蛇料理Ⅱ
masami256
0
100
x86 とコンテキストスイッチ
masami256
0
320
Other Decks in Programming
See All in Programming
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.9k
Workers Cache を知る
syumai
0
360
Jetpack Compose Mechanisms
skydoves
3
820
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
220
Event is what happens
moro
2
770
APNsからLive Activityを開始する話
yumnumm
0
170
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
630
気持ちぃ〜角丸 Squircle
ryu1013
0
310
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
300
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
290
AmebaブログはKMPから卒業します
kmars0605
0
180
Featured
See All Featured
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
We Have a Design System, Now What?
morganepeng
55
8.4k
Optimizing for Happiness
mojombo
378
71k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Code Reviewing Like a Champion
maltzj
529
40k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
エンジニアに許された特別な時間の終わり
watany
109
250k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
460
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
310
Transcript
Gnome と dogtail 2010/08/22 カーネル/ VM 探検隊 @masami256
What is the dogtail? • 元々は Redhat で開発されたテストツール • GUI
の操作を自動化 • 実装は Python で書かれてる • スクリプトも Python で書く • 操作のキャプチャ・リプレイ可能
Base Technology • AT-SPI を利用 • Assistive Technology Service Provider
Interface • Gnome プロジェクト発祥
AT-SPI Browser
AT-SPI Browser
Dogtail Internal pyatspy dogtail
Dogtail Internal •
[email protected]
• click, check などのアクションの定義と実行 •
[email protected]
• UI を構成する各要素を取得して保持 • 要素の内容の取得・変更もする • コンボボックスの選択内容を取得したり、テキスト ボックスに文字を書き込むなど
Dogtail Internal •
[email protected]
• フォーカスに関するクラス • Window や Application
にフォーカスを移したり、 フォーカスのある要素に対してアクションを実行な ど • WARNING: Here There be Dragons (TM)
Dogtail Internal •
[email protected]
• テストクラスの本体 •
[email protected]
• テスト対象のプロセス起動、停止などを実行など
• rawinput.py • マウス・キーボードのイベントを取得し、イベント を登録する • utils.py • プログラムの実行、スクリーンショット取得など
ご清聴ありがとうございました