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
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
110
Linux Namespaces
masami256
0
82
slub: alloc and free
masami256
0
100
SLUB data structures
masami256
0
130
SystemV IPC
masami256
0
140
Linux Namespace
masami256
0
94
とある帽子の大蛇料理Ⅱ
masami256
0
100
x86 とコンテキストスイッチ
masami256
0
300
Other Decks in Programming
See All in Programming
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
240
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
190
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
1.1k
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
3
750
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
970
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
1
200
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
530
Apache Hive: Toward a Cloud Native Lakehouse
okumin
0
180
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
520
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.7k
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
200
VibeCodingからAgenticWorkflowへ
starfish719
0
230
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
200
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
ラッコキーワード サービス紹介資料
rakko
1
4.2M
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.7k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
620
Amusing Abliteration
ianozsvald
1
240
Optimising Largest Contentful Paint
csswizardry
37
3.9k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
480
How to Talk to Developers About Accessibility
jct
2
480
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.7k
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 • プログラムの実行、スクリーンショット取得など
ご清聴ありがとうございました