Take Screenshot
Take a screenshot of the current viewport/window/page
Example Usage
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
screenshotBase64 = self.driver.get_screenshot_as_base64()
// webdriver.io example
let screenshot = driver.screenshot();
// wd example
let screenshot = await driver.takeScreenshot();
@driver.screenshot_as(:base64)
// TODO C# sample
// TODO PHP sample
Description
Takes a screenshot of the viewport in a native context (iOS, Android) and takes a screenshot of the window in web context
Note that some platforms may have settings that prevent screenshots from being taken, for security reason. One such feature is the Android FLAG_SECURE layout parameter
Support
Appium Server
| Platform | Driver | Platform Versions | Appium Version | Driver Version |
|---|---|---|---|---|
| iOS | XCUITest | 9.3+ | 1.6.0+ | All |
| UIAutomation | 8.0 to 9.3 | All | All | |
| Android | UiAutomator2 | ?+ | 1.6.0+ | All |
| UiAutomator | 4.2+ | All | All | |
| Mac | Mac | ?+ | 1.6.4+ | All |
| Windows | Windows | 10+ | 1.6.0+ | All |
Appium Clients
| Language | Support | Documentation |
|---|---|---|
| Java | All | seleniumhq.github.io |
| Python | All | selenium-python.readthedocs.io |
| Javascript (WebdriverIO) | All | webdriver.io |
| Javascript (WD) | All | github.com |
| Ruby | All | www.rubydoc.info |
| PHP | All | github.com |
| C# | All | github.com |
HTTP API Specifications
Endpoint
GET /wd/hub/session/:session_id/screenshot
URL Parameters
| name | description |
|---|---|
| session_id | ID of the session to route the command to |
JSON Parameters
None
Response
The screenshot as a base64 encoded PNG (string)