Skip to content

Commit

Permalink
Added new documents for Testsigma Tunnel
Browse files Browse the repository at this point in the history
Added the following docs for Testsigma Tunnel:

Key Components & System Requirements
Setup and Installation: Mac
Setup and Installation: Windows
Setup and Installation: Linux (Debian & RPM)
Setup and Installation: Docker
Using Testsigma Tunnel
  • Loading branch information
bharathk08 committed Oct 24, 2024
1 parent 9df6260 commit 7d1941b
Show file tree
Hide file tree
Showing 9 changed files with 566 additions and 189 deletions.
3 changes: 2 additions & 1 deletion src/left-nav-title.json
Original file line number Diff line number Diff line change
Expand Up @@ -681,5 +681,6 @@
"element-learning": {"/docs/windows-lite-automation/element-learning/": "Element Learning with Test Recorder"},
"test-cases": {"/docs/windows-lite-automation/test-cases/": "Test Cases for Windows (Lite)" },
"copado-integration": {"/docs/continuous-integration/copado-integration/": "Copado CI/CD" },
"features-and-scenarios": {"/docs/test-cases/manage/features-and-scenarios/": "Features & Scenarios" }
"features-and-scenarios": {"/docs/test-cases/manage/features-and-scenarios/": "Features & Scenarios" },
"key-components": {"/docs/testsigma-tunnel/key-components/": "Components & Requirements" }
}
47 changes: 47 additions & 0 deletions src/pages/docs/testsigma-tunnel/intro.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
title: "Intro: Testsigma Tunnel"
metadesc: "Learn how Testsigma Tunnel securely tests private server URLs or locally hosted web apps on real browsers and devices. This article is an introduction for Testsigma Tunnel"
noindex: false
order: 31.1
page_id: "Testsigma Tunnel"
warning: false
contextual_links:
- type: section
name: "Contents"
- type: link
name: "Getting Started"
url: "#getting-started"
- type: link
name: "Getting Help"
url: "#getting-help"
---

---

Testsigma Tunnel allows you to securely test private server URLs or locally hosted web applications on real browsers and devices through Testsigma. Testsigma's tunnel binary can bypass the restrictions caused by corporate firewalls and proxy settings, ensuring a secure connection without IP whitelisting or public internet access.

Testsigma Tunnel establishes a secure connection between your system and Testsigma cloud servers using protocols like Web Socket, HTTPS, and SSH. This allows testing of locally hosted websites or web applications across multiple OS, browsers, and screen resolutions available on Testsigma. This article discusses key components, system requirements, and steps to execute Testsigma Tunnel for client connection.

---

## **Getting Started**

- [Key Components & System Requirements](https://testsigma.com/docs/testsigma-tunnel/key-components/)

- [Setup and Installation: Mac](https://testsigma.com//docs/testsigma-tunnel/setup-installation-mac/)

- [Setup and Installation: Windows](https://testsigma.com/docs/testsigma-tunnel/setup-installation-windows/)

- [Setup and Installation: Linux (Debian & RPM)](https://testsigma.com/docs/testsigma-tunnel/setup-installation-linux/)

- [Setup and Installation: Docker](https://testsigma.com/docs/testsigma-tunnel/setup-installation-docker/)

- [Using Testsigma Tunnel](https://testsigma.com/docs/testsigma-tunnel/using-tunnel/)

---

## **Getting Help**

- For inquiries or help, reach out to Testsigma support at **[email protected]**.

---
82 changes: 82 additions & 0 deletions src/pages/docs/testsigma-tunnel/key-components.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
---
title: "Key Components & System Requirements"
metadesc: "Ensure seamless connection of Testsigma tunnel by understanding these key components and system requirements for testing locally hosted applications."
noindex: false
order: 31.2
page_id: "Testsigma Tunnel: Key Components"
warning: false
contextual_links:
- type: section
name: "Contents"
- type: link
name: "Key Components"
url: "#key-components"
- type: link
name: "System Requirements"
url: "#system-requirements"
---
---

Before establishing a Testsigma Tunnel connection, understand the key components of Testsigma Tunnel Architecture and the system requirements to setup correctly. This helps ensure a seamless and secure connection for testing locally hosted applications.

---

## **Key Components**

There are five key components in the Testsigma Tunnel architecture:

![Tunnel Architecture](https://s3.amazonaws.com/static-docs.testsigma.com/new_images/projects/applications/TS_Tunnel_Arch.png)

**1. Testsigma Tunnel Client**
- The Testsigma Tunnel Client is a distributed binary that must be installed on the machine where you have access to locally hosted websites or applications.
- The tunnel application uses the provided key to authenticate with the Authentication Server when started.

**2. Authentication Server**
- The Authentication Server processes authentication requests from the Testsigma Tunnel Client.
- After successful authentication, it assigns a Tunnel Connect Server for testing.

**3. Testsigma Tunnel Server**
- The Testsigma Tunnel Server is a virtual machine (VM) or container running in the Testsigma data centers.
- It includes an HTTP/TCP proxy, which forwards requests from REST API executors or automation test case executors.
- The server hosts a TCP server that the Testsigma Tunnel Client uses to establish a tunnel.

**4. REST API Client/Browser (Automation Environment)**
- The REST API client or browser running automation uses the Testsigma Tunnel Server as a proxy to forward all requests to the Testsigma Tunnel Client.

**5. Remote Address**
- The remote address refers to the server URL, which could be localhost, a privately hosted site, or public websites.
- The Testsigma Tunnel Client establishes a bidirectional tunnel between the Testsigma application and the remote address.


---


## **System Requirements**

To use Testsigma Tunnel, your system must meet the following requirements:

**1. Operating System Requirements**

- **Windows:** XP or later

- **macOS:** 10.10 or later

- **Linux:** Ubuntu 12.04 or later

**2. Hardware Requirements**

- **CPU:** x64 architecture, ARM (32-bit and 64-bit) supported

- **RAM:** 2 GB or more recommended

- **Disk Space:** 100 MB free space for installation (500MB free space recommended)

**3. Network Requirements:**

- Ensure that you have a stable internet connection for tunnel communication.

**4. Firewall/Proxy Requirements:**

- Ensure that no firewall or security system restricts the Testsigma Tunnel Client's outbound network traffic.

---
62 changes: 62 additions & 0 deletions src/pages/docs/testsigma-tunnel/setup-installation-docker.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
title: "Setup and Installation: Docker"
metadesc: "Learn how to set up Testsigma Tunnel using Docker for testing of locally hosted applications across real browsers, bypassing firewalls & proxy restrictions."
noindex: false
order: 31.6
page_id: "Testsigma Tunnel"
warning: false
contextual_links:
- type: section
name: "Contents"
- type: link
name: "Prerequisites"
url: "#prerequisites"
- type: link
name: "Setup Testsigma Tunnel Using Docker"
url: "#setup-testsigma-tunnel-using-docker"
---

---

Setting up Testsigma Tunnel with Docker ensures secure and reliable connections for your test automation. This article discusses installing Testsigma Tunnel using Docker.

---

> ## **Prerequisites**
>
> - Ensure you have reviewed and have all the system requirements mentioned [here](https://testsigma.com/docs/testsigma-tunnel/key-components/).
---

## **Setup Testsigma Tunnel Using Docker**
1. Create a **docker-compose.yml** file in your project directory with the following content:

```yaml
services:
testsigma-tunnel:
image: testsigmainc/testsigma-tunnel:<arm64/amd64>-latest
container_name: testsigma-tunnel
environment:
- KEY=<API_KEY>
- TUNNEL_NAME=<NAME_OF_TUNNEL>
- CONNECTIONS=<NUMBER>
- INACTIVE_TIMEOUT=<NUMBER in seconds>
- VERBOSE=true/false
```
2. Replace the placeholder values in the **docker-compose.yml** file:
- **&lt;API\_KEY&gt;:** Your Testsigma authentication key.
- **&lt;NAME\_OF\_TUNNEL&gt;:** The name of your tunnel.
- **&lt;NUMBER&gt;:** The number of connections to establish.
- **&lt;NUMBER in seconds&gt;:** The inactive timeout duration.
- **true/false:** Set to ***true*** for verbose logging or ***false*** to disable it.
3. Run the following command to start the Testsigma Tunnel service: <br>
```docker compose up -d```

4. Once the service is running, logs will indicate that **Testsigma Tunnel** is active. Use the tunnel name for your automation tests.

5. To stop the service, use the following command: <br>
```docker compose down```

---
170 changes: 170 additions & 0 deletions src/pages/docs/testsigma-tunnel/setup-installation-linux.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
---
title: "Setup and Installation: Linux"
metadesc: "Learn how to set up & use Testsigma Tunnel (Linux) for testing of locally hosted applications across real browsers, bypassing firewalls & proxy restrictions."
noindex: false
order: 31.5
page_id: "Testsigma Tunnel"
warning: false
contextual_links:
- type: section
name: "Contents"
- type: link
name: "Prerequisites"
url: "#prerequisites"
- type: link
name: "Steps for Installation: Linux"
url: "#steps-for-installation-linux"
- type: link
name: "Installing Tunnel as a Service on Linux"
url: "#installing-tunnel-as-a-service-on-linux"
- type: link
name: "Steps for Debian Installation"
url: "#steps-for-debian-installation"
- type: link
name: "Steps for RPM Installation"
url: "#steps-for-rpm-installation"
---

---

This article discusses setting up and installing Testsigma Tunnel on a Linux system, including Debian and RPM based distributions. You can either install the client manually or use it as a service for continuous operation.

---

> ## **Prerequisites**
>
> - Ensure you have reviewed and have all the system requirements mentioned [here](https://testsigma.com/docs/testsigma-tunnel/key-components/).
---
## **Steps for Installation: Linux**

1. From the left navigation bar, go to **Settings > Testsigma Tunnel**.

2. In the top right corner, click the **Download Icon** and download the file as per your machine architecture.

3. Extract the contents of the ZIP file to a directory of your choice.

4. Navigate to the extracted folder and execute the ***TestsigmaConnect*** binary. You can provide arguments in two ways:

**a. Using Command Line Arguments**
- Copy API Key from **Settings > API Keys**
- Execute the following command: <br>
```testsigma-connect --key <your-authentication-key>```

**b. By Modifying ‘args.yaml’**
- You can configure the authentication key and other parameters in the args.yaml file found in the same directory as the Testsigma Connect binary.
- Here’s a sample **args.yaml**:
```yaml
key: "<your-authentication-key>"
tunnel-name: ""
connections: 10
inactive-timeout: 300
verbose: false
```

- After making these changes, you can simply type ***./TestsigmaConnect*** to start the client.


5. Once the application is started, you will see a message like below:

```
🚀 Testsigma Connect is now running... 🚀
🔑 Use the following tunnel name for your automation testing:
🌍 Tunnel Name: <your-tunnel-name>
🛑 To stop the tunnel, press Ctrl+C.
```

---

## **Installing Tunnel as a Service on Linux**

You can run Testsigma Tunnel as a service on your Linux system using either RPM or DEB installations. This allows it to run in the background and start automatically on system boot.

## **Steps for Debian Installation**

1. From the left navigation bar, go to **Settings > Testsigma Tunnel**.

2. In the top right corner, click the **Download Icon** and download the DEB file as per your machine architecture.

3. Install Testsigma Tunnel using the DEB package: <br>
```sudo apt install ./testsigma-connect-<version>.deb```

4. Create or edit the **args.yaml** file located at **/etc/testsigma-connect/args.yaml** to set your authentication key and other parameters. Here’s a sample file:
```yaml
key: "<your-authentication-key>"
tunnel-name: ""
connections: 10
inactive-timeout: 300
verbose: false

5. **Enable the Testsigma Connect** service to start on boot: <br>
```sudo systemctl enable testsigma-connect```

6. **Start the Testsigma Connect** service: <br>
```sudo systemctl start testsigma-connect```

### **Debian Uninstallation**

1. **Disable the Testsigma Connect** service to prevent it from starting on boot: <br>
```sudo systemctl disable testsigma-connect.service```

2. **Stop the Testsigma Connect** service if it is currently running: <br>
```sudo systemctl stop testsigma-connect.service```

3. **Uninstall Testsigma Connect** using the APT package manager: <br>
```sudo apt remove -y testsigma-connect```

4. If the service file **/etc/systemd/system/testsigma-connect.service** still exists, remove it: <br>
```sudo rm /etc/systemd/system/testsigma-connect.service```

5. **Reload the systemd daemon** to apply changes: <br>
```sudo systemctl daemon-reload```

---


## **Steps for RPM Installation**

1. From the left navigation bar, go to **Settings > Testsigma Tunnel**.

2. In the top right corner, click the **Download Icon** and download the RPM file as per your machine architecture.

3. Install Testsigma Tunnel using the RPM package: <br>
```sudo rpm -ivh testsigma-connect-<version>.rpm```

4. Create or edit the **args.yaml** file located at **/etc/testsigma-connect/args.yaml** to set your authentication key and other parameters. Here’s a sample file:
```yaml
key: "<your-authentication-key>"
tunnel-name: ""
connections: 10
inactive-timeout: 300
verbose: false
5. **Enable the Testsigma Connect** service to start on boot: <br>
```sudo systemctl enable testsigma-connect.service```

6. **Start the Testsigma Connect** service: <br>
```sudo systemctl start testsigma-connect.service```


### **RPM Uninstallation**

1. **Disable the Testsigma Connect service** to prevent it from starting on boot: <br>
```sudo systemctl disable testsigma-connect.service```

2. **Stop the Testsigma Connect service** if it is currently running: <br>
```sudo systemctl stop testsigma-connect.service```

3. **Uninstall Testsigma Connect** using the RPM package manager: <br>
```sudo rpm -e testsigma-connect```

4. If the service file **/etc/systemd/system/testsigma-connect.service** still exists, remove it: <br>
```sudo rm /etc/systemd/system/testsigma-connect.service```

5. **Reload the systemd daemon** to apply changes: <br>
```sudo systemctl daemon-reload```

---
Loading

0 comments on commit 7d1941b

Please sign in to comment.