Skip to content

Conversation

@qxo
Copy link

@qxo qxo commented Jan 3, 2017

auto add "videoOn"="true" capability for VideoProxy enabled node
so with "capabilityMatcher"="com.aimmac23.hub.proxy.VideoOnCapabilityMatcher"
Grid could select suitable node

when request with capability ( "_videoOff":"true" ) on VideoProxy node recording will not start

Signed-off-by: qxo qxodream@gmail.com

@aimmac23
Copy link
Owner

aimmac23 commented Jan 4, 2017

Hi qxo,

If I'm reading your changed correctly, you've added a "videoOn" capability to match nodes that are capable of recording videos, but also added another capability called "_videoOff" which controls whether the video node actually records a video?

I can see why adding a new capability to tag the Selenium nodes would be useful (although it might be preferable if users configured this themselves - I'm open to a debate).

If we also have a flag for the capability matcher to use to direct "videoOn: false" requests away from video nodes, I'm not sure why there would be an additional flag to disable recording capabilities. If the test knew in advance it didn't want a video, then it could send the request elsewhere - to a standard selenium node for example (which can support more browsers on a single node).

Would you mind expanding on the above?

Thanks,

Alasdair

@qxo
Copy link
Author

qxo commented Jan 4, 2017

Yes, "_videoOff" which controls whether the video node actually records a video or not.
if selenium grid using VideoOnCapabilityMatcher ( which consider "videoOn"), Grid can not send "videoOn: false" requests to video nodes

if selenium grid not use VideoOnCapabilityMatcher, Grid cant not send "videoOn: true" requests only to video nodes

so we use two capability property
"videoOn: true" ==> for selected matched video nodes if we wants record video
"_videoOff: false" ==> for event on video nodes ,we still cant switch video off

and add a system property "seleniumVideoDefaultOff" ==> switch default recording off
"_videoOff: true" ==> switch recording on when -DseleniumVideoDefaultOff=true

we grid change "capabilityMatcher" to "com.aimmac23.hub.proxy.VideoOnCapabilityMatcher"

@qxo qxo force-pushed the videoSwitchOnOff branch from 757b7dd to 8b5010b Compare January 4, 2017 11:11
@qxo
Copy link
Author

qxo commented Jan 4, 2017

after 749be55 , videoOn=false was supported

@aimmac23
Copy link
Owner

aimmac23 commented Jan 7, 2017

Hi qxo,

I'm still a bit confused - if you had a test that didn't want to take a video, then surely you could create a session on a non-video capable node - which supports higher levels of test parallelism than this project? Why do you need to override the default behaviour of the video nodes?

Thanks,

Alasdair

@qxo
Copy link
Author

qxo commented Jan 10, 2017

It's a feature for someone like me: use the video switchable node for selenium test.
so we do not need prepare two node(video and non-video)
for all browser (IE8-IE11)

@aimmac23
Copy link
Owner

Hi qxo,

Sorry to take so long to reply. I'm still confused - you could simply keep the video recording enabled, but don't read the video file when its generated?

I'm a bit reluctant to merge the "_videoOff" part because standard selenium nodes support greater levels of parallelism than the video nodes do (since they don't care which window is on top), so instead of turning off video recording it would be better to send requests to the standard selenium nodes?

The part involving the "videoOn" is a good idea (it would help you implement the above), and it could be useful to bundle a capability matcher for it in this project (for those who don't write Java).

Thanks,

Alasdair

auto add "videoOn"="true" capability for VideoProxy enabled node
so with "capabilityMatcher"="com.aimmac23.hub.proxy.VideoOnCapabilityMatcher"
Grid could select suitable node

and when request with capability ( "_videoOff":"true" ) on  VideoProxy enabled node , video recording will not start

origin commit: 8d72f4e
@qxo qxo force-pushed the videoSwitchOnOff branch from 749be55 to ba66a5b Compare March 5, 2018 15:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants