Esthenia-collaboration / rfswarm-docker

Simple docker container wich make rswarm performance tool easy to launch
1 stars 0 forks source link

Provide a SeleniumLibrary template agent image on dockerhub #30

Closed Esthenia-collaboration closed 2 weeks ago

Esthenia-collaboration commented 2 months ago

For this image we'll need to add some new dependencies: Xvfb (X virtual framebuffer), which allow to run graphical applications in a headless or non-graphical environment. And the associated DISPLAY value. It's better to add this interface dependency in the agent rather than the manager part. So if it's works correctly, we'll remove this part from the manager. All the dependencies linked to Selenium installation and the browser's driver as well. For this image we're going to create one image for each Browsers type (Chrome, firefox, edge) We'll do separate images to avoid having a Big image's size in this case. We'll need the name the different images with explicit names such as:

### IMPORTANT: I'll complete the issue description with all Selenium image dependencies

This simple test example from Dave's rfswarm project might be use to run some simple tests: https://github.com/damies13/rfswarm/tree/master/Tests/Regression/Agent/testdata/Issue-%23171

damies13 commented 2 months ago

The thing that will be important for this is XVFB and the DISPLAY variable, without a display browsers crash on Linux even when run in headless mode (I learned this the hard way), you don't need a desktop environment or window manager, just X or wayland, XVFB is the easiest solution to setup when you have no video card (e.g. in a docker container)

Maresther-B commented 1 month ago

The thing that will be important for this is XVFB and the DISPLAY variable, without a display browsers crash on Linux even when run in headless mode (I learned this the hard way), you don't need a desktop environment or window manager, just X or wayland, XVFB is the easiest solution to setup when you have no video card (e.g. in a docker container)

yes I got this. We've already implemented this at work