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
32
Chrome DevTools в Selenium тестах
bayandin
0
210
[RU] ChromeDriver Jailbreak
bayandin
0
120
Mobile Web: to the Desktop!
bayandin
1
29
JavaScript + Webdriver = ♥ (v1.1)
bayandin
1
240
JavaScript + Webdriver = ♥
bayandin
1
860
Other Decks in Programming
See All in Programming
testcontainers のススメ
sgash708
1
110
AWS認定資格を勉強した先に何があったか
satoshi256kbyte
2
210
SymfonyCon Vienna 2025: Twig, still relevant in 2025?
fabpot
3
1.1k
クリエイティブコーディングとRuby学習 / Creative Coding and Learning Ruby
chobishiba
0
3.8k
htmxって知っていますか?次世代のHTML
hiro_ghap1
0
270
事業成長を爆速で進めてきたプロダクトエンジニアたちの成功談・失敗談
nealle
3
1.4k
たのしいparse.y
ydah
3
120
PipeCDの歩き方
kuro_kurorrr
4
150
開発者とQAの越境で自動テストが増える開発プロセスを実現する
92thunder
1
170
As an Engineers, let's build the CRM system via LINE Official Account 2.0
clonn
1
670
Jakarta EE meets AI
ivargrimstad
0
1.3k
物流システムにおけるリファクタリングとアーキテクチャの再構築 〜依存関係とモジュール分割の重要性〜
deeprain
1
1.2k
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
222
9k
Why Our Code Smells
bkeepers
PRO
335
57k
The Cult of Friendly URLs
andyhume
78
6.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
The Art of Programming - Codeland 2020
erikaheidi
53
13k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Gamification - CAS2011
davidbonilla
80
5.1k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Building Your Own Lightsaber
phodgson
103
6.1k
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