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
Gnomeとdogtail
Search
Masami Ichikawa
August 22, 2010
Programming
0
90
Gnomeとdogtail
Masami Ichikawa
August 22, 2010
Tweet
Share
More Decks by Masami Ichikawa
See All by Masami Ichikawa
cgroupsとプロセス生成・終了処理
masami256
1
1.2k
Linux の Debug 機能
masami256
0
86
Linux Namespaces
masami256
0
57
slub: alloc and free
masami256
0
80
SLUB data structures
masami256
0
100
SystemV IPC
masami256
0
120
Linux Namespace
masami256
0
68
とある帽子の大蛇料理Ⅱ
masami256
0
77
x86 とコンテキストスイッチ
masami256
0
240
Other Decks in Programming
See All in Programming
Android 16 × Jetpack Composeで縦書きテキストエディタを作ろう / Vertical Text Editor with Compose on Android 16
cc4966
2
260
Swift Updates - Learn Languages 2025
koher
2
490
Ruby×iOSアプリ開発 ~共に歩んだエコシステムの物語~
temoki
0
340
プロポーザル駆動学習 / Proposal-Driven Learning
mackey0225
2
1.3k
AIコーディングAgentとの向き合い方
eycjur
0
280
さようなら Date。 ようこそTemporal! 3年間先行利用して得られた知見の共有
8beeeaaat
3
1.5k
チームのテスト力を鍛える
goyoki
3
710
RDoc meets YARD
okuramasafumi
4
170
もうちょっといいRubyプロファイラを作りたい (2025)
osyoyu
1
450
パッケージ設計の黒魔術/Kyoto.go#63
lufia
3
440
Cache Me If You Can
ryunen344
2
3k
OSS開発者という働き方
andpad
5
1.7k
Featured
See All Featured
Statistics for Hackers
jakevdp
799
220k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Music & Morning Musume
bryan
46
6.8k
Scaling GitHub
holman
463
140k
Practical Orchestrator
shlominoach
190
11k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Typedesign – Prime Four
hannesfritz
42
2.8k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Agile that works and the tools we love
rasmusluckow
330
21k
Context Engineering - Making Every Token Count
addyosmani
3
55
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
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 • プログラムの実行、スクリーンショット取得など
ご清聴ありがとうございました