Healenium-Proxy without Docker
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.5.0
      - Run as standalone mode:
      
      java -jar selenium-server-4.5.0.jar standalone
      
      Install Healenium without Docker

      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 (start_healenium.sh):
      Evirovemend variables of Healenium-backend (start_healenium.sh):

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