Execute CDP from a Capybara test
Selenium Chrome:
With capybara you can access the page's driver by using page.driver
. Next you can access the browser methods on the driver withpage.driver.browser
, then the .execute_cdp
method can be used to execute chrome devtools commands on your webdriver browser.
In a capybara test, it could like:
test_browser = page.driver.browser
coordinates = { latitude: 35.689487,
longitude: 139.691706,
accuracy: 100 }
test_browser.execute_cdp('Emulation.setGeolocationOverride', **coordinates)
This can be used to mock some client-side information such as user device metrics, geo-location, or even emulate slow CPUs 😳
Tweet