This documentation is deprecated. Please refer to the README in the Appium repository or Appium 2.0 documentation.

  Edit this Doc Start Recording Screen

Start recording screen

Example Usage

driver.startRecordingScreen();
driver.startRecordingScreen(new BaseStartScreenRecordingOptions(....));

self.driver.start_recording_screen()

// webdriver.io example
driver.startRecordingScreen();

// Not supported
# ruby_lib example
start_recording_screen
start_recording_screen video_size: '1280x720', time_limit: '180', bit_rate: '5000000' # Android
start_recording_screen video_type: 'h264', time_limit: '260' # iOS

# ruby_lib_core example
@driver.start_recording_screen
@driver.start_recording_screen video_size: '1280x720', time_limit: '180', bit_rate: '5000000' # Android
@driver.start_recording_screen video_type: 'h264', time_limit: '260' # iOS

driver.StartRecordingScreen(
    AndroidStartScreenRecordingOptions.GetAndroidStartScreenRecordingOptions()
        .WithTimeLimit(TimeSpan.FromSeconds(10))
        .WithBitRate(500000)
        .WithVideoSize("720x1280"));

Support

Appium Server

Platform Driver Platform Versions Appium Version Driver Version
iOS XCUITest 9.3+ 1.6.0+ All
UIAutomation None None None
Android Espresso ?+ 1.9.0+ All
UiAutomator2 ?+ 1.6.0+ All
UiAutomator 4.3+ All All
Mac Mac None None None
Windows Windows None None None

Appium Clients

Language Support Documentation
Java All static.javadoc.io
Python All appium.github.io
Javascript (WebdriverIO) All
Javascript (WD) All
Ruby All Android iOS
C# None github.com

HTTP API Specifications

Endpoint

POST /session/:session_id/appium/start_recording_screen

URL Parameters

name description
session_id ID of the session to route the command to

JSON Parameters

name type description
options object The following parameters of the action
options.remotePath string The path to the remote location, where the resulting video should be uploaded. The following protocols are supported http/https, ftp. Null or empty string value (the default setting) means the content of resulting file should be encoded as Base64 and passed as the endpoint response value. An exception will be thrown if the generated media file is too big to fit into the available process memory. This option only has an effect if there is screen recording process in progress and forceRestart parameter is not set to true.
options.username string The name of the user for the remote authentication.
options.password string The password for the remote authentication.
options.method string The http multipart upload method name. The 'PUT' one is used by default.
options.forceRestart boolean Whether to try to catch and upload/return the currently running screen recording (false, the default setting on server) or ignore the result of it and start a new recording immediately (true).
options.timeLimit string Recording time. 180 seconds is by default.
options.videoType string (iOS Only) The format of the screen capture to be recorded. Available formats are the output of ffmpeg -codecs such as libx264 and mpeg4. Defaults to mjpeg.
options.videoQuality string (iOS Only) The video encoding quality (low, medium, high, photo - defaults to medium).
options.videoFps string (iOS Only) The Frames Per Second rate of the recorded video. Change this value if the resulting video is too slow or too fast. Defaults to 10. This can decrease the resulting file size.
options.videoScale string (iOS Only) The scaling value to apply. Read https://trac.ffmpeg.org/wiki/Scaling for possible values. Example value of 720p scaling is '1280:720'. This can decrease/increase the resulting file size. No scale is applied by default.
options.bitRate string (Android Only) The video bit rate for the video, in megabits per second. 4 Mbp/s(4000000) is by default for Android API level below 27. 20 Mb/s(20000000) for API level 27 and above.
options.videoSize string (Android Only) The format is widthxheight. The default value is the device's native display resolution (if supported), 1280x720 if not. For best results, use a size supported by your device's Advanced Video Coding (AVC) encoder. For example, "1280x720"
options.bugReport string (Android Only) Set it to true in order to display additional information on the video overlay, such as a timestamp, that is helpful in videos captured to illustrate bugs. This option is only supported since API level 27 (Android O).

Response

null

See Also