Closed antonroman closed 5 years ago
Two containers have been implemented. Both of them can execute a headless browser to be controled with puppeteer API but without display or any other stuff (VNC, xvfb, fluxbox ...) included in the mentioned example. The fisrt container is listenig to an incoming call in a user of https://rooms.quobis.com, and the other docker container makes a call from another user to the previous one. In this way is possible to execute a complete WebRTC test from the VnV platform. Currently, they are implemeted to work with https://rooms.quobis.com, but the last version of docker containers will have to work with the webphone version included in the RP-VNF.
Great! please use a env variable to set the URL to access the Web application.
It is done. I also include another env varible with the duration of the call in ms.
The last update of the described containers is avaliable in the previous docker hub repositories.
Addictionally, I have added the part of obtaining of different parameters of the WerbRTC call used to complete the VnV tests.
The previous containers can be executed with the following commands:
danielvifal/docker-chromium-rec
docker run -e WEB="https://rooms.quobis.com" -e CALLED="quobisqa1@quobis" -e PASSWORD="PNrdj3G948WP" -e USER="apps" docker-chromium-rec:latest
danielvifal/docker-chromium
docker run -e WEB="https://rooms.quobis.com" -e CALLER="quobisqa3@quobis" -e PASSWORD="oWc0n2M84xt2" -e CALLED="quobisqa1" -e DURATION=10000 -e USER="apps" docker-chromium:latest
The last one, danielvifal/docker-chromium, writes the ouput in a file avaliable in the following path, due to it is the folder where the VnV reads the outputs and shows them in the test section:
/output/${PROBE}/$HOSTNAME/results.log
Where:
-${PROBE} is headless by default
-$HOSTNAME is the container ID
If it is neccesary to check the content of the output file results.log, it is possible to copy this file from the container to the host with the following shell command:
docker cp <CONTAINER_ID>:/output/headless/$HOSTNAME /results.log results.log
The next picture, shows an example of the output of the container whose content are the Puppeteer logs, that descrive the evolution of the call, the enviroment variables and the output of the command used to get information asked for the test of the VnV.
We need to be able to execute the complete WebRTC test from a Docker container so that we can execute it as VnV test.
This approach has been tested and works: https://medium.com/dot-debug/running-chrome-in-a-docker-container-a55e7f4da4a8
chromium -incognito --no-default-browser-check --use-fake-ui-for-media-stream --use-fake-device-for-media-stream --disable-breakpad https://rooms.quobis.com
To launch the test itself we can use: https://github.com/GoogleChrome/puppeteer We need to use one of the users provisioned by default.