@@ -287,6 +287,15 @@ private Capabilities addForwardCdpEndpoint(
287287
288288 private Container createBrowserContainer (int port , Capabilities sessionCapabilities ) {
289289 Map <String , String > browserContainerEnvVars = getBrowserContainerEnvVars (sessionCapabilities );
290+ // Enable env var to trigger video recording if session capabilities request and external video
291+ // container is disabled
292+ if (videoImage == null && recordVideoForSession (sessionCapabilities )) {
293+ browserContainerEnvVars .put ("SE_RECORD_VIDEO" , "true" );
294+ browserContainerEnvVars .put ("SE_VIDEO_FILE_NAME" , "auto" );
295+ if (runningInDocker ) {
296+ browserContainerEnvVars .put ("SE_VIDEO_RECORD_STANDALONE" , "true" );
297+ }
298+ }
290299 long browserContainerShmMemorySize = 2147483648L ; // 2GB
291300 ContainerConfig containerConfig =
292301 image (browserImage )
@@ -295,6 +304,10 @@ private Container createBrowserContainer(int port, Capabilities sessionCapabilit
295304 .network (networkName )
296305 .devices (devices )
297306 .applyHostConfig (hostConfig , hostConfigKeys );
307+ Optional <DockerAssetsPath > path = ofNullable (this .assetsPath );
308+ if (path .isPresent () && videoImage == null && recordVideoForSession (sessionCapabilities )) {
309+ containerConfig .bind (Collections .singletonMap (this .assetsPath .getHostPath (), "/videos" ));
310+ }
298311 if (!runningInDocker ) {
299312 containerConfig = containerConfig .map (Port .tcp (4444 ), Port .tcp (port ));
300313 }
@@ -335,7 +348,7 @@ private void setCapsToEnvVars(
335348
336349 private Container startVideoContainer (
337350 Capabilities sessionCapabilities , String browserContainerIp , String hostPath ) {
338- if (!recordVideoForSession (sessionCapabilities )) {
351+ if (videoImage == null || !recordVideoForSession (sessionCapabilities )) {
339352 return null ;
340353 }
341354 int videoPort = 9000 ;
0 commit comments