Healenium-Proxy with Docker
  1. Make sure you have the recent Docker version installed.
  2. Download latest version or clone Healenium repository:
Structure of archive:

  • docker-compose.yaml - compose file to use Healenium with Solenoid as server.
  • docker-compose-selenium-grid.yaml - compose file to use Healenium with Selenium Grid as server.
  • docker-compose-web.yaml - compose file to use Healenium with web approach.
  • docker-compose-appium.yaml - compose file to use Healenium with mobile Appium framework.
  • /db/init/init.sql - init sql file for PostgreSQL
  • /shell-installation/ - directory for install Healenium without docker. That will be described in more detail later.
Run Healenium with Selenoid
Up and run docker services

docker-compose up -d
Note: browsers.json consists of target browsers and appropriate versions. Before run healenium you have to manually pull selenoid browser docker images with version specified in browsers.json
Example pull selenoid chrome image: docker pull selenoid/vnc:chrome_111.0
Full list of browser images you can find here
Run Healenium with Selenium-Grid:

docker-compose -f docker-compose-selenium-grid.yaml up -d
5. Init driver instance of RemoteWebDriver

Create a RemoteWebDriver with the address of the Healenium-Proxy server. Example in Python.

nodeURL = "http://localhost:8085"
    
options = webdriver.ChromeOptions()
    
current_webdriver = webdriver.Remote(
    command_executor=nodeURL,
    desired_capabilities=webdriver.DesiredCapabilities.CHROME,
    options=options,
)

String nodeURL = "http://localhost:8085";

ChromeOptions options = new ChromeOptions();
WebDriver driver = new RemoteWebDriver(new URL(nodeURL), options);

const NODE_URL = "http://localhost:8085";

let args = [
   "--no-sandbox"
];

let chromeCapabilities = selenium.Capabilities.chrome()
    .set('chromeOptions', { args });

let builder = new selenium.Builder()
    .forBrowser('chrome')
    .withCapabilities(chromeCapabilities);

let driver = await builder.usingServer(NODE_URL).build();

String nodeURL = "http://localhost:8085";

ChromeOptions optionsChrome = new ChromeOptions();
optionsChrome.AddArguments("--no-sandbox");
    
RemoteWebDriver driverChrome = new RemoteWebDriver(new Uri(nodeURL), optionsChrome);
Configuration
Evirovemend variables of Healenium-proxy (docker-compose.yaml):
Evirovemend variables of Healenium-backend (docker-compose.yaml):

About Healenium
Contacts
  • Anna_Chernyshova@epam.com - Project Manager
  • Dmitriy_Gumeniuk@epam.com - Project Supervisor