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 Selenium Grid as server.
  • docker-compose-selenoid.yaml - compose file to use Healenium with Solenoid 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 Selenium-Grid:
docker-compose up -d
Run Healenium with Selenoid
docker-compose -f docker-compose-selenoid.yaml up -d
Install Healenium-Proxy using a shell script
Requirements:

  • Java 8+
  • Python
  • PostgerSQL
Install PostgreSQL: https://www.postgresql.org/download/

After successful installation, you need to prepare the database for Healenium services using psql:

1.1. Create database and user
    CREATE DATABASE healenium;
    CREATE USER healenium_user WITH ENCRYPTED PASSWORD 'YDk2nmNs4s9aCP6K';
    GRANT ALL PRIVILEGES ON DATABASE healenium TO healenium_user;
    ALTER USER healenium_user WITH SUPERUSER;
    \c healenium healenium_user;
    1.2. Create schema
      CREATE SCHEMA healenium AUTHORIZATION healenium_user;
      GRANT USAGE ON SCHEMA healenium TO healenium_user;
      • Selenium server. Documentation here.
      As example:

      - Download selenium-server jar: 4.25.0
      - Run as standalone mode:
      java -jar selenium-server-4.25.0.jar standalone
      Install Healenium components

      1. Download latest version or clone Healenium repository:
      Structure of archive:

      • /shell-installation/ - directory for install Healenium without docker. It contains /selenium-grid (for Healenium-Proxy) and /web (for Healenium-Web) directories

      2. Go to /shell-installation/selenium-grid

      3. Download Healenium components. Run download_services.sh

      4. Run start_healenium.sh

      Navigate to http://<hlm-backend-address>/healenium/report to check healenium backend is running.
      Locally: http://localhost:7878/healenium/report
      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