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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Masami Ichikawa
August 22, 2010
Programming
110
0
Share
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
110
Linux Namespaces
masami256
0
78
slub: alloc and free
masami256
0
99
SLUB data structures
masami256
0
130
SystemV IPC
masami256
0
140
Linux Namespace
masami256
0
89
とある帽子の大蛇料理Ⅱ
masami256
0
99
x86 とコンテキストスイッチ
masami256
0
300
Other Decks in Programming
See All in Programming
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
990
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.3k
Moments When Things Go Wrong
aurimas
3
130
Inside Stream API
skrb
1
460
Zod v4 Codec でスキーマに型変換を埋め込む REST API 設計 #TSKaigi2026
ryutaro_yako
0
180
OSもどきOS
arkw
0
360
Lessons from Spec-Driven Development
simas
PRO
0
110
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
510
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
6
1.2k
自動レビューエンジンの実装と運用 ~レビューのない世界へ~
kurukuru1999
2
300
Hive Metastoreを通して学ぶIceberg REST Catalog ― 仕様から実装まで
okumin
0
310
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
2.7k
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
320
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Building Adaptive Systems
keathley
44
3k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
430
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
380
Site-Speed That Sticks
csswizardry
13
1.2k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
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 • プログラムの実行、スクリーンショット取得など
ご清聴ありがとうございました