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
Sukili による UI Automation
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Pine Mizune
June 16, 2015
Programming
0
120
Sukili による UI Automation
社内新卒技術勉強会の資料
Pine Mizune
June 16, 2015
Tweet
Share
More Decks by Pine Mizune
See All by Pine Mizune
多言語対応と絵文字ジェネレーター / i18n of Emoji Generator
pine
0
850
C++ 製グラフィックライブラリ Skia の紹介 / Introduction to the graphics library Skia written by C++
pine
0
1.9k
asyncio + aiohttp で作るウェブサービス / How to develop a web service with asyncio and aiohttp
pine
0
680
Lerna による明示的疎結合アーキテクチャ
pine
1
660
CircleCI 2.0 x JavaScript
pine
3
560
Perl 卒業式
pine
0
360
Android Studio の気になる warnings を抑制する方法まとめ
pine
0
510
Emoji Generator meets Browser Extensions
pine
1
3k
近年の OSS 開発における CI 選択のベストプラクティス
pine
3
4.5k
Other Decks in Programming
See All in Programming
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.6k
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
130
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
650
Data-Centric Kaggle
isax1015
2
780
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
3.9k
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
130
Apache Iceberg V3 and migration to V3
tomtanaka
0
160
CSC307 Lecture 09
javiergs
PRO
1
840
「ブロックテーマでは再現できない」は本当か?
inc2734
0
1k
OSSとなったswift-buildで Xcodeのビルドを差し替えられるため 自分でXcodeを直せる時代になっている ダイアモンド問題編
yimajo
3
620
24時間止められないシステムを守る-医療ITにおけるランサムウェア対策の実際
koukimiura
1
100
Grafana:建立系統全知視角的捷徑
blueswen
0
330
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
The Limits of Empathy - UXLibs8
cassininazir
1
220
Music & Morning Musume
bryan
47
7.1k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
220
The browser strikes back
jonoalderson
0
390
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Testing 201, or: Great Expectations
jmmastey
46
8k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
70
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
57
50k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Transcript
Sukili による UI Automa.on Pine Mizune
目次 • Sikuli とは ? • Sikuli が解決する問題
• Sikuli を実際に使ってみる • Sikuli の技術 • JRuby から Sikuli を呼び出す 2
Sikuli とは ? • UI 操作を自動化するツール・ライブラリ • クロスプラットフォーム
ü Windows / Mac / Linux • 画像認識ベース ü 操作対象の内部構造は問わない 3
4
Sikuli が解決する問題 5 • 複雑・面倒な操作の自動化 ü GUI
操作が必要でも自動化できる • 高レイヤな UI テストの実現 • 実際の閲覧環境に近い形でテスト可能 • マウス・キーボードの入力も再現
Sikuli を実際に使ってみる 6 • Windows 上で Slack クライアントを自動操作
ü 頭が貧弱なので、良い例が思いつかなかった ü 本当は API が存在しないものでやると良い
Sikuli の技術 7 Java.awt.Robot Jython OpenCV Tesseract OCR
Sikuli Java API ※ How Sikuli Works: hSp://doc.sikuli.org/devs/system-‐design.html?highlight=jni
JRuby から Sikuli を呼び出す 8
JRuby から Sikuli を呼び出す 9 • Sikuli API
はJava API として提供 ü 公式に Jython, JRuby をサポート ü もちろん Java から直接も OK u (余談) JRuby が最近熱い • JRuby 1.7 -‐> 9K … 謎 Version UP
JRuby から Sikuli を呼び出すデモ 10 • 最近 API
が廃止された Skype を自動操作 ü Microsob 社は頭が悪いの ??? • チャットを開いて自動投稿 ü もう Slack でよいので、時遅し
None