Skip to main content

WebRTC python unit tests inspired to '80s

Project description

VideoDrone

Test popular WebRTC Platforms with Selenium HQ and Python. Videodrone want to be a lightweight build system for unittest orchestration. It simply manage "drone connector" with python multiprocessing, at this moment only chrome driver was tested, fill free to contribute with your "drone connector", see section.

Setup

You need a fully working python3 pip environment, with virtualenv installed in.

You can even use build.sh to build your videodrone project. example

You can even install videodrone by hands.

mkdir VideoDrones && cd VideoDrones
virtualenv -ppython3 env && source env/bin/activate
pip install videodrone

Create the following directories before executing videodrone.

  • y4m, where your preferred y4m files resides. They will be used randomically.
    • mkdir y4ms
    • wget https://media.xiph.org/video/derf/y4m/students_cif.y4m -O y4ms/students_cif.y4m
  • driver, where your selenium drivers resides.

Run

VIDEODRONE_DRIVER environment variable can override the driver path settings.

example, this connector is configured to create a drone party to https://meet.jit.si/thatroom

VIDEODRONE_DRIVER=../VideoDrone.orig/drivers/videodrone -c "videodrone.drones.jitsi_chrome" -r peo -y4m ./y4ms/

There will be a party of 4 drones in "thatroom"

videodrone -room thatroom -c "videodrone.drones.jitsi_chrome" -y4m ./y4ms/ -n 4

Output

INFO:__name__:Started drone <Process name='Process-1' pid=25900 parent=25898 started>
INFO:__name__:Started drone <Process name='Process-2' pid=25960 parent=25898 started>
INFO:__name__:Started drone <Process name='Process-3' pid=26155 parent=25898 started>
INFO:__name__:Started drone <Process name='Process-4' pid=26373 parent=25898 started>
INFO:__name__:Drone destroyed
INFO:__name__:Drone destroyed
INFO:__name__:Drone destroyed
INFO:__name__:Drone destroyed

What happens example

Drone Connectors

Drone connectors are selenium browser macros, written in python, as simple as possibile. See videodrone.drones.jitsi_drone for example. Drone connectors must be packaged and installed, them must be available through your PYTHONPATH (sys.path).

Credits

Fabio Farina (Garr Consortium) Massimo Carboni (Garr Consortium) Garrlab community

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

videodrone-0.7.4.tar.gz (5.0 kB view details)

Uploaded Source

File details

Details for the file videodrone-0.7.4.tar.gz.

File metadata

  • Download URL: videodrone-0.7.4.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.2

File hashes

Hashes for videodrone-0.7.4.tar.gz
Algorithm Hash digest
SHA256 c43fe423c5d53c89478a7cc9f84a9e44c042e2252ad23a3fe27429d8c17e343b
MD5 cf3723d713713a96f61d64a9809d5add
BLAKE2b-256 d765b499f0221da1b0cf84b805c79d72f031817ddf808626e551213526238b27

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page