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
[EN] ChromeDriver Jailbreak (short)
Search
Alexander Bayandin
November 16, 2016
Programming
0
210
[EN] ChromeDriver Jailbreak (short)
SeleniumConf UK 2016 Lightning Talk
Video:
https://youtu.be/FoTCmWvaQME?t=24m51s
Alexander Bayandin
November 16, 2016
Tweet
Share
More Decks by Alexander Bayandin
See All by Alexander Bayandin
Нетрадиционное использование автотестов
bayandin
0
33
Chrome DevTools в Selenium тестах
bayandin
0
310
[RU] ChromeDriver Jailbreak
bayandin
0
120
Mobile Web: to the Desktop!
bayandin
1
31
JavaScript + Webdriver = ♥ (v1.1)
bayandin
1
260
JavaScript + Webdriver = ♥
bayandin
1
890
Other Decks in Programming
See All in Programming
AIを活用し、今後に備えるための技術知識 / Basic Knowledge to Utilize AI
kishida
20
4.8k
1から理解するWeb Push
dora1998
5
1.6k
速いWebフレームワークを作る
yusukebe
5
1.6k
Kiroの仕様駆動開発から見えてきたAIコーディングとの正しい付き合い方
clshinji
1
200
CJK and Unicode From a PHP Committer
youkidearitai
PRO
0
100
KessokuでDIでもgoroutineを活用する / Go Connect #6
mazrean
0
140
コンテキストエンジニアリング Cursor編
kinopeee
1
750
Honoアップデート 2025年夏
yusukebe
1
910
Updates on MLS on Ruby (and maybe more)
sylph01
1
180
Ruby×iOSアプリ開発 ~共に歩んだエコシステムの物語~
temoki
0
210
Claude Codeで実装以外の開発フロー、どこまで自動化できるか?失敗と成功
ndadayo
4
1.9k
AI時代のUIはどこへ行く?
yusukebe
13
7.7k
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.6k
Rails Girls Zürich Keynote
gr2m
95
14k
A designer walks into a library…
pauljervisheath
207
24k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Optimizing for Happiness
mojombo
379
70k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Statistics for Hackers
jakevdp
799
220k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Transcript
ChromeDriver Jailbreak Alexander Bayandin
Jailbreak?
Jailbreak? It allows us to use Chrome features which are
not available through ChromeDriver. 3
Driver architecture
+------+ +------------+ +------+ |Client|<------>|ChromeDriver|<------>|Chrome| +------+ +------------+ +------+
+------+ +------------+ +------+ |Client|<------>|ChromeDriver|<------>|Chrome| +------+ +------------+ +------+ WebDriver Protocol Chrome
Debugging Protocol (over WebSockets) Selenium or test
Chrome Debugging Protocol 7 Chrome DevTools uses it.
What if… 8 Send a custom request?
+-+ +-+ +--------+ +------------+ |C| |T|<---->|Selenium|<---->|ChromeDriver|<------->|h| |e| +--------+ +------------+ |r|
|s| |o| |t|<------------------------------------------->|m| +-+ |e| +-+ WebSocket Connection
+-+ +-+ +--------+ +------------+ |C| |T|<---->|Selenium|<---->|ChromeDriver|<------->|h| |e| +--------+ +------------+ |r|
|s| |o| |t|<------------------------------------------->|m| +-+ |e| +-+ WebSocket Connection
+-+ +-+ +-+ +--------+ +------------+ |P| |C| |T|<---->|Selenium|<---->|ChromeDriver|<->|r| |h| |e|
+--------+ +------------+ |o|<->|r| |s| |x| |o| |t|<------------------------------------->|y| |m| +-+ +-+ |e| +-+ WebSocket Connection
devtools-proxy ✦ devtools-proxy ✦ chrome-wrapper.sh 12
Examples
devtools-proxy examples 14 ✦ Chrome Debugging protocol methods, for example
CPU Throttling
# https://chromedevtools.github.io/debugger-protocol-viewer/ > { "id":0, "method":"Emulation.setCPUThrottlingRate", "params":{ "rate": 10 }
}
None
devtools-proxy examples 17 ✦ Chrome Debugging protocol methods, for example
CPU Throttling ✦ See HTTP requests during test run
None
devtools-proxy examples 19 ✦ Chrome Debugging protocol methods, for example
CPU Throttling ✦ See HTTP requests during test run ✦ See what’s going on (like Remote Debugging Android Devices)
None
Interested?
Good to know before ✦ Almost no docs ✦ Doesn’t
support Windows yet ✦ Chromium / Google Chrome only 22
Good to know before ✦ Almost no docs ✦ Doesn’t
support Windows yet ✦ Chromium / Google Chrome only ✦ Has some bugs, probably 23
Good to know before ✦ Almost no docs ✦ Doesn’t
support Windows yet ✦ Chromium / Google Chrome only ✦ Has some bugs, probably ✦ Selenium Python test suite passes 24
Good to know before ✦ Almost no docs ✦ Doesn’t
support Windows yet ✦ Chromium / Google Chrome only ✦ Has some bugs, probably ✦ Selenium Python test suite passes ✦ Python 25
Download bayandin/devtools-proxy 26
Thank you! abayandin bayandin alexander.bayand.in
Thank you! BadooTech Badoo techblog.badoo.com