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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
87
slub: alloc and free
masami256
0
100
SLUB data structures
masami256
0
130
SystemV IPC
masami256
0
140
Linux Namespace
masami256
0
96
とある帽子の大蛇料理Ⅱ
masami256
0
100
x86 とコンテキストスイッチ
masami256
0
310
Other Decks in Programming
See All in Programming
AI × TiDD / 2026.09.05 Redmine 大阪
tokudiro
1
160
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
160
DroidKaigi 2026 「個人開発という実験場: Android エンジニアが手にする4つの自由」
slashnephy
0
230
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
320
アクセシビリティから考える情報設計
high_g_engineer
0
370
LL言語やWebフレームワークのPostgreSQL対応 〜DBの機能がユーザーに届くまで〜
kentaroutakeda
1
150
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
230
一参加者から『中の人』へ 〜全通PHPerがブースに立って学んだ、カンファレンスを100倍楽しむコツ〜
wp_daisuke
0
150
VueプロジェクトをTypeScript7に対応させる- Side-by-Side戦略による一部高速化 -
koukimiura
0
110
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
220
海上で動くGoサーバー: goroutineとchannelでさばく航行データストリーム
atsuki_seo
0
690
FreeBSDでZabbixを動かす.pdf
kenkino
0
270
Featured
See All Featured
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
460
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
320
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Bash Introduction
62gerente
615
220k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
240
The Mindset for Success: Future Career Progression
greggifford
PRO
0
490
[SF Ruby Conf 2025] Rails X
palkan
3
1.4k
Producing Creativity
orderedlist
PRO
348
41k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.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 • プログラムの実行、スクリーンショット取得など
ご清聴ありがとうございました