A test grid that mimics Browserstack and LambdaTest and helps you record videos of your selenium tests
Developed 2 methods which achives our objective (80% - 90%). Built a system providing some basic functionalities of LambdaTest.
- 
The system must host a selenium grid that we can connect to execute our tests on each build. 
- 
A video must be recorded and saved for reference. 
- 
Slack Notification in case of test fail. 
- We should be able to execute our tests in parallel, so that build takes lesser time.
- Video recording is the main challenge (discovered 2 working methods for this).
- 
We develop a microservice that has the responsibility of recording videos from the tests being executed. 
- 
Here is a flow diagram how our infrastructure will look like. 
- 
Host a MJPEG server alongside Selenium server on windows system. 
- 
Use FFMPEG to capture screenshots from here and render it as video 
- System method only works when RDP connection is alive with the windows server/GUI is available.
- 
Connect The Recorder service with same selenium session and keep taking screenshots. 
- 
Use FFMPEG to render a video from these images later. 
- To cope up with the quality of video, the video speed with be approx 2.5X (we can slow it down while watching : ) )
- 
System requirement mostly depends on parallelism. 
- 
Still we require atleast core system and atleast 2 GB RAM. 
