Subject7 Installation System Requirements

Abstract:  This document outlines the hardware and system requirements necessary for installing and running the Subject7 platform. The platform consists of two main components: a server that runs several services as Docker containers and an agent/client for remote test executions. The agent/client can be installed on various environments such as Win10, Ubuntu, and Mac OS. For non-Windows environments, the agent/client can also be a Docker container. However, for Windows environments, the agent/client must be a standalone Java application.

 

Important Note: The first installation must be done with a Subject7 team specialist at this time. 

 

High-Level Network Architecture

Platform_Main_Architecture.png

Subject7 Platform: The Subject7 Platform is a Linux (Redhat) server that hosts the Subject7 server and consists of Docker containers. The Subject7 Platform is responsible for managing the test assets, the distribution of tests across Cloud Executors, and saving test reports and videos.

Cloud Executors (Agents): Cloud Executors are virtual machines that mimic the end-user environment, such as Windows 10, Mac, or Linux (Ubuntu), and execute tests in parallel. They are responsible for running the tests in a sandboxed environment and communicating the results back to the Subject7 Platform.

Subject7 Player: The Player is a package that is installed on end-user machines and is used to author and debug test cases. The authoring is done on a browser, and this app acts as an agent that handles the backend functionality on users' machines. The Player allows users to create and edit test cases and debug issues in real time.

 

Subject7 Recorder: 

 

Server Hardware/Software Requirements

The following are the hardware and software requirements for the Subject7 platform, designed to accommodate up to 50 users

  1. 32 GB RAM
  2. 16 Core CPU
  3. 500 GB Hard Drive for the main OS. 
  4. Red Hat Enterprise Linux 8+ 64-bit with docker installed
  5. A user called subject7 with uid=107 and gid=107
  6. DNS name and certificate bundle for SSL/HTTPS

It's important to note that these requirements may vary depending on the size and complexity of your test suite, as well as the number of concurrent users accessing the system. For larger deployments, we recommend consulting our technical support team for guidance on the appropriate hardware and software configuration.

Network Communications 

The following inbound ports are required for the Subject7 platform:

  • Port 443: This port is used for HTTPS traffic and is required for secure communication with the Subject7 platform.

  • Port 61616: This port is used for the messaging protocol that allows Subject7 services to communicate with each other.

Additionally, a DNS name is required to access the application, for example, "subject7.mydomain.com". This DNS name should be configured to point to the IP address of the Linux server hosting the containers.

It's important to note that outbound ports may also be required depending on the specific needs of your test environment. If you have any questions or concerns regarding communication ports, please reach out to our technical support team for assistance.

Executor Agent Hardware/Software Requirements (Windows)

The following are the hardware and software requirements for the Subject7 Executor running on Windows:

  1. Interactive Session: The VM requires an interactive session that is always listening to messages from the server. It can be locked down and hardened tightly as it only needs a browser and Linux server connectivity. Standard deployment is on Windows.

  2. Hardware Requirements: Minimum 8 GB RAM, 2 cores CPU, and 30 GB hard drive on a 64-bit system.

  3. Operating System: We recommend Windows Server editions as they are more secure and perform much better. Windows Server 2019 is currently in use in our AWS cloud environment.

  4. Minimum Console Resolution: 1366x768.

  5. Java: Java 11+ OpenJDK/Oracle must be installed.

  6. Screen savers and automatic lock-off settings must be disabled.

  7. Power plans or any settings that turn off the screen must be turned off.

  8. User Setup: Set up a user (Service Account with no other access) who has access to launch browsers and can communicate with the Linux server on ports 61616 and 443/80. This user must be allowed to write to a folder say c:\subject7. The same username can be used as the Linux box "subject7".

  9. Auto-login Setup: The user subject7_automation (service account) must be enabled for auto-login. See the section Auto-login Setup for Windows below.

  10. Browser: Chrome and Firefox latest versions are required.

  11. XPoint Package: Create a folder c:/subject7 and download the latest XPoint package into it. Unzip the package.

  12. Configuration: Browse to the conf folder and open the xpoint.properties file. Make sure you get the properties that match your server installations in there.

  13. Startup: Add the c:/subject7/bin/xpoint.bat in the startup folder of the user. This file has to start after the auto-logon kicks in. Windows task scheduler can also be used.

By meeting these requirements, the Subject7 Agent/Executor can be installed and used effectively in a Windows environment. If you encounter any issues, please consult our technical support team for assistance.

 

Auto-logon Setup for Windows

Running an automation test on Windows typically requires an interactive session in order to interact with the graphical user interface (GUI) of the web browser being used for testing. For example, for automating web applications, the system needs to be able to interact with the browser's GUI to perform actions like clicking buttons, entering text, and verifying page content.

Here are the steps to enable auto-login. 

  1. Download the Autologon utility from the Microsoft website and extract the files to a folder on your computer.
  2. Open a command prompt as an administrator.
  3. Navigate to the folder where you extracted the Autologon files.
  4. Type "autologon.exe" and press Enter.
  5. Enter the username and password of the account you want to use for auto-logon.
  6. Reboot the VM. 

 

Executor Software & Hardware Requirements (Ubuntu)

The following is for Linux: 

  1. 8 GB RAM, 2 cores CPU, and 30 GB hard drive on a 64-bit system
  2. We recommend Ubuntu as it's closer to most desktop users, but other flavors of Linux can also work. 
  3. Minimum Console Resolution 1280x1024
  4. Java 11+ OpenJDK/Oracle
  5. There are some special packages required for Sikulix which are needed for Desktop interactions. Here is the reference 
  6. X virtual buffer (i.e. xvfb). 
  7. Chrome and Firefox latest browsers

 

Executor Installation Ubuntu

Install prerequisite packages and utilities:

sudo groupadd --gid 10777 subject7
sudo useradd -r -m -u 10777 -g 10777 subject7

sudo apt install -y apt-file
sudo apt-file update
sudo apt install -y default-jre
sudo apt install -y xvfb
sudo apt install -y unzip
sudo apt install -y vim
sudo apt install -y

wget apt install -y tzdata
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'
sudo apt update
sudo apt install google-chrome-stable
google-chrome --version (Check installation)

sudo su - subject7
mkdir -p /home/subject7/xpoint
cd /home/subject7/xpoint
wget LATEST_XPOINT_URL_OBTAIN_FROM_SUBJECT7
cd xpoint/conf
---Replace/Overwrite xpoint.properties with the one provided by Subject7----
exit (to user ubuntu)

sudo vim /etc/systemd/system/subject7-agent.service

[Unit]
Description=Subject7 agent for running test cases
After=xvfb.service

[Service]
Environment="DISPLAY=:42"
User=subject7
KillMode=process
ExecStart=/home/subject7/xpoint/bin/xpoint.sh

[Install]
WantedBy=multi-user.target

sudo vim /etc/systemd/system/xvfb@.service

[Unit]
Description=X Virtual Frame Buffer Service
After=network.target

[Service]
User=subject7
ExecStart=/usr/bin/Xvfb %I -screen 0 1920x1080x24

[Install]
WantedBy=multi-user.target


sudo systemctl daemon-reload
sudo systemctl enable xvfb@:42.service
sudo systemctl enable subject7-agent.service
sudo reboot

 

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments

Please sign in to leave a comment.