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
[EN] ChromeDriver Jailbreak (short)
Search
Alexander Bayandin
November 16, 2016
Programming
220
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
[EN] ChromeDriver Jailbreak (short)
SeleniumConf UK 2016 Lightning Talk
Video:
https://youtu.be/FoTCmWvaQME?t=24m51s
Alexander Bayandin
November 16, 2016
More Decks by Alexander Bayandin
See All by Alexander Bayandin
Нетрадиционное использование автотестов
bayandin
0
45
Chrome DevTools в Selenium тестах
bayandin
0
400
[RU] ChromeDriver Jailbreak
bayandin
0
130
Mobile Web: to the Desktop!
bayandin
1
43
JavaScript + Webdriver = ♥ (v1.1)
bayandin
1
280
JavaScript + Webdriver = ♥
bayandin
1
920
Other Decks in Programming
See All in Programming
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
370
AGENTS.md Is Not Enough:Build Skills, Don't Download Them
lx_t
0
120
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
120
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
300
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
460
速習iPhone Duo対応
yuukiw00w
1
680
wkhtmltopdfの次どうするか問題2026
willnet
2
1.6k
cdk deploy JawsSonic #MARATHONしながらAWSリソースをデプロイしてみよう
akihisaikeda
2
140
海上で動くGoサーバー: goroutineとchannelでさばく航行データストリーム
atsuki_seo
0
790
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
7
3k
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
4.8k
setup-vp GitLab対応の裏側
naokihaba
0
110
Featured
See All Featured
Bash Introduction
62gerente
615
220k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.8k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
420
Evolving SEO for Evolving Search Engines
ryanjones
0
300
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
460
Paper Plane (Part 1)
katiecoart
PRO
2
11k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
250
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
520
The Spectacular Lies of Maps
axbom
PRO
1
1k
Making the Leap to Tech Lead
cromwellryan
135
10k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
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