Beta Lambda Tunnel For Corporate Firewalls/ Enterprise Restricted Environments


Lambda Tunnel feature allows you to test your private server URLs or locally hosted websites or web-apps through LambdaTest cloud servers by establishing a secure shell connection. However, sometimes corporate firewalls and proxy setting may have restricted you to leverage the Lambda Tunnel binary. Not anymore though, as we’ve come up with a new binary for Lambda Tunnel.

This Beta Lambda Tunnel binary will help you establish a secure connection through corporate firewalls between your computer and LambdaTest cloud servers for testing locally hosted website or web-applications. You can also test plain HTML, CSS, PHP, Python or other similar web files saved on your local system, on 2000+ combinations of operating systems, browsers, and screen resolutions that are available on LambdaTest.

You can download this Lambda Tunnel to establish a secure connection through your corporate firewalls, proxies:

Executing Lambda Tunnel for Beta Client Connection


After you download the zip file for your operating system, extract it in a folder and open you command line there. Once you have your terminal routed to the correct directory where the Lambda Tunnel binary file is placed, you need to execute the below command.

So for example, if your details are as below:

  • Email: example@lambdatest.com
  • LambdaTest Access Key: 123asd123
  • Tunnel Name: SampleTunnel

Then your command would be:

tunnel command in terminal

Once you execute the command, you will successfully establish a beta-client connection using the Lambda Tunnel. You will find the command logs to state, that you are now ready to test.

start-testing

What Makes The New Lambda Tunnel Binary Special?


Well, other than the fact that you can now establish a connection through your corporate firewalls with the new Lambda Tunnel binary. Here are a couple things to top it off.

Auto Update Functionality

Earlier, for every version update in out Lambda Tunnel, you were compelled to download the latest binary from our platform and over write it over the outdated version in your computer. Well, now this new binary will take care of that. Everytime you execute this binary, it will check for the latest version available and will update itself automatically, in case it gets outdated.

Default Port 443

Now, by default, everything will run over the port 443 to ensure a secure web browser communication through http protocol over TLS/SSL.

Leverage .lt.yaml file

With this new Lambda Tunnel binary, you can declare your LambdaTest authentication credentials in a YAML file configuration and keep it in the same directory as the LT binary file. That way, you won’t have to pass the environment variables in the cmd everytime you wish to configure the Lambda Tunnel. Once you specify these variables in the .lt.yaml file, you will just have to execute the binary file through cmd LT.exe and the YAML file will automatically configure a secure Lambda Tunnel connection by auto detecting the variables specified in the YAML file.

just run lt binary from cmd

Here is an example of the .lt.yaml file.

Note: You will need to replace this file with your credentials and it has to be named exactly “.lt.yaml“. Once you specify the proxy information as environment variable, it gets auto detected.

Similarly, you can go ahead and pass any other variables by just specifying them in the YAML file. For example, if you wish to have verbose variable passed on for detailed logs while the binary is being configured. You will add the verbose flag in your YAML file:

Now, when you trigger the binary file through cmd. You will have your verbose logs populated automatically, without you having to specify the variable every time.

verbose logs for lt binary

Tunnel Arguments


You can find all the arguments for LambdaTest Tunnel by running the below command in your command line:

You have already executed the mandatory arguments for Lambda Tunnel. Here is a list of optional arguments that you can leverage to establish a beta-client connection with LambdaTest through specific proxy details, callback URL, custom SSH Host, verbose logs, and more.

Arguments Description
--verbose Ensures every proxy request is logged to stdout.
--proxy-host string Full hostname for the proxy you’d like to use.
--proxy-port string The port declared by you for fetching the proxy.
--proxy-user string Your proxy username.
--proxy-pass string Your proxy password
--shared-tunnel To share a Lambda Tunnel among teammates.
--version Specifies the version of your Lambda Tunnel binary.
--pidfile string Path of the pidfile, where process ID will be written.
--mitm Test websites using self signed certificates on your local system or internal network.
--pac string Specify the path of a pac file.
--output-config Print used config on console as JSON.
--nows Forces tunnel to run in polling mode.
--logFile string Location of the tunnel log file.
--local-domains string Comma separated list of local domains.
--infoAPIPort int Exposes tunnel info API at the specified port.
--env string Specify the Environment label.
--emulateChrome Emulates Google Chrome while establishing tunnel.
--dns string Specify the Environment label.
--dir string Comma separated list of DNS servers.
--CustomSSHHost string Custom SSH host to use for debugging.
--CustomSSHPort string Custom SSH port to use for debugging.
--CustomSSHUser string Custom SSH user to use for debugging
--CustomSSHPrivateKey string Custom SSH Private Key to use for debugging.
--controller string Specifies controlling environment for tunnel possible values: [standalone, Jenkins, CircleCI, npm].
--config string The config file to use.
--callbackURL string Callback URL for tunnel status.
--bypassHosts string Comma separated list of hosts to bypass from tunnel. These will be routed through internet.

That was all you need to know for configuring a beta-client connection through Lambda Tunnel. In case you have any questions, feel free to share them with us through our 24/7 chat support or drop us an email to support@lambdatest.com. Happy testing! 🙂

Maven Tunnel For Locally Hosted Web Applications


Maven is a renowned build automation tool for orchestrating project builds by automatically handling Selenium dependencies, compiling source code to binary & then packaging of the binary. LambdaTest offers an SSH(Secure Shell) tunnel which allows you to test your locally hosted websites over 2000+ browsers for both mobile and desktop through LambdaTest Selenium Grid.

This document will help you configure a secure Lambda Tunnel to execute your Selenium test automation scripts through your Maven project on our online Selenium Grid.

Prerequisites


  • LambdaTest Authentication Credentials
  • Be aware of your LambdaTest authentication credentials i.e. your LambdaTest username, access key and HubURL. You need to set them up as your environment variables. You can retrieve them from your LambdaTest automation dashboard by clicking on the key icon near the help button.

    • For Linux/Mac:
      $ export LT_USERNAME= {your lambdatest username}
      $ export LT_ACCESS_KEY= {your lambdatest access_key}
    • For Windows:
      $ set LT_USERNAME= {your lambdatest username}
      $ set LT_ACCESS_KEY= {your lambdatest access_key}
  • Make sure you have Maven installed.
  • Install Java 8.

Set Up Maven Sample Project & Dependencies


Note: Make sure you clone our GitHub repository for Maven tunnel.

Navigate to the cloned directory & compile maven dependencies using the command:

Running Maven Tunnel


Here is the code that is present in the cloned GitHub repository for Maven Tunnel.

Optional Arguments For Lambda Tunnel

Argument
Syntax
Description

tunnelName

To change the name of the Lambda Tunnel.

pidFile

To change the PID path.

dir

To change the directory path.

logFile

To change the path for Tunnel logs.

For more arguments, refer to our document of Lambda Tunnel Modifiers.

LambdaTest Underpass Application For Secure Tunnel


With LambdaTest Underpass, you can perform cross browser testing of locally hosted web applications on 2000+ browsers for both mobile & desktop, without executing any command from your terminal. LambdaTest Underpass is a desktop application to help you establish an SSH(Secure Shell) tunnel between your operating system & our cloud servers, all through GUI.

Downloading & Installing The Underpass Tunnel Application


You can also download the Underpass tunnel application from the LambdaTest web-application. Login to your LambdaTest account, and hit the button to configure tunnel. After that, switch to the tab “Download App” and click the button which says “Download Tunnel App”. This will download the binary file using which you can perform browser compatibility testing over your locally hosted web-applications or websites.

Download Tunnel App

After downloading the Tunnel App, also known as the Underpass, you need to run it. You may get a prompt from your operating system asking you to allow Underpass through the firewall on your system.

allow access

Note: If you are using a Linux operating system, you need to give app executable permission using the command:

Launching The Secure Tunnel Through Underpass


For Linux User

Make sure you’ve given the permissions to the Underpass executable file through the command highlighted in the above note. If you have, you can run the application by either double clicking it or by running the below command in terminal:

For Windows User

You would have to specify your LambdaTest Username & LambdaTest Access Key to establish an secure tunnel connection.

LambdaTest username & accesskey

Note: By default, a tunnel name would be automatically assigned. In case you don’t like it, you can go ahead and change it by hitting the refresh icon.

Finding Your LambdaTest Username & Access Key

Login to your LambdaTest account. Click on the user icon over the top-right and visit the Profile.

visit LambdaTest profile

In your profile, you will find your LambdaTest Username and Access key.

Now, you need to copy your LambdaTest Username and Access Key to place in the Underpass tunnel application. Hit the Launch button.

launch button

Note: You may get another promt from your firewall defender to allow LT, which is a binary file for Lambda Tunnel. Earlier, you used to trigger the LT file through your command line or terminal. Now, as you allow LT(Lambda Tunnel) the permissions, the Underpass will take care of the rest of the execution.

allow access to LT

Next, you just have to wait for a couple seconds and ta-da! You have successfully established an Secure Shell connection by running the Underpass application. You will find the status as Running.

By clicking over the View Logs button, you can find messages populated from through command line.

view logs

Note: If you don’t specify any advanced configurations while launching the tunnel, you may receive few warnings stating the environment & configuration files aren’t found. Don’t worry though, in such cases you will be automatically routed through default configurations.

Now, if you go back to LambdaTest web-application, you will find an active tunnel connection being reflected with the same name as your Underpass tunnel application.

What About The Advanced Configurations?


You can also specify advanced configurations such as proxy details, environment label, info API port, local server port and more before you launch the Underpass tunnel application.

show advanced configurations

As you click on show advanced configurations, you get the below screen.

Reviewing Detailed Tunnel Logs

Under the advanced configurations, you will find a toggle for Verbose. Verbose is set to off by default. However, if you switch it on you will be able to find detailed logs for your Lambda Tunnel.

verbose logs

Local Testing By MITM(Man-In-The-Middle)

The MITM(Man-in-the-middle) toggle enables you to test websites using self-signed certificates on your local system or internal network. It happens very often that you may try to test a website on localhost which may not have valid SSL certificates before the website is made live. In such cases, you may recieve the below error.

You can test such websites by leveraging the MITM toggle under advanced configurations of the Underpass tunnel application. Here is a screenshot of the same website that was throwing an error earlier but can now be tested by enabling the MITM toggle.

Accessing A Local Directory

With Underpass application, you can easily access a local folder or directory in your computer. All you need to do is paste the address of folder in the field “LOCAL DIRECTORY” under the advanced configurations.

local folder path

Now, when you launch the tunnel and run a Real time test over LambdaTest, you will find the files located under the local folder whose path was specified by you under the advanced configurations.

Note: You need to specify local-folder.lambdatest.com as the testing URL in the real time testing.

Monitoring Tunnel Logs For Troubleshooting


The Underpass tunnel application is in beta stage right now. We’ve tried our best to provide you a bug-free experience. However, there may be rare cases where you may come across any issues around LambdaTest Underpass. Don’t worry, we’ve got your back. You can view the tunnel logs using the below commands for your operating systems:

  • macOS: ~/Library/Application Support/Underpass/logs
  • Windows: C:\Users\\AppData\Local\Underpass\logs
  • Linux: ~/.config/Underpass/logs

Share these logs with us through our 24/7 support and we will come to your aid immediately.!!

That was all for LambdaTest Underpass tunnel application, in case you have any questions, feel free to share them with us through our 24/7 chat support or drop us an email to support@lambdatest.com. Happy testing! 🙂

Download Files Using LambdaTest Selenium Grid


While you perform Selenium test automation, you may want to test the download functionality of your web-application or website. With LambdaTest Selenium Grid, you can test the download feature of your web-application on 2000+ real browsers for mobile and desktop. You can download a file inside the test machine through your Selenium test automation script by Base64 encryption & decryption.

LambdaTest Selenium Grid will provide you with an encoded string of base64 which you can leverage to download any file inside the virtual machine triggered through your Selenium testing scripts. For this, LambdaTest has provided three main flags using JavascriptExecutor to:

  • Check whether the downloaded file exists in the test machine.
  • Retrieve file metadata such as md5 code, modified time, name and size
  • Download file content using base64 encoding.

Note: Don’t forget to feed the file format with the file name to the JavaScriptExecutor.

Downloading File Using Selenium With Java


Downloading File Using Selenium With Python


Downloading File Using Selenium With Node.js


Got Questions? Give a shout to us. We’re here for you 24/7. Happy testing! 🙂

Miro Integration


Miro is a cloud-based collaborative whiteboard platform helping teams to manage their projects effectively. Miro gives the team access to digital whiteboards and sticky notes to enable them to brainstorm and do many other collaborative activities such as research, planning, managing workflows and more.

LambdaTest’s integration with Miro will help you to log bugs to boards on Miro. You can easily find and report any cross browser compatibility issues to your team instantly.

How To Integrate Miro With Your LambdaTest Account?


Step 1: Login to your LambdaTest account. Select ‘integration’ from the left navigation bar. This page includes all the integrations provided with 3rd party tools for LambdaTest. You’ll find Miro under the Project Management category. Hover on it and you’ll see a plus icon, click on it go further with integration

miro_screenshot_1

Step 2: If you’ve already logged into your Miro account, you’ll be taken to another screen asking to install ‘LambdaTest’ in your team. You can click on the ‘install’ icon next to ‘test’.

miro_screenshot_4

Step 3: After you click on the install button, the integration of LambdaTest will be completed. You can verify the integration by selecting ‘integrations’ from the left navigation bar, here under the ‘My Integration’ section you can see ‘Miro’.

miro_screenshot_5

Step 4: If you are not already logged in, then you will be redirected to a page where you can log in with your Miro account by providing login credentials. You can even use your google account to login to Miro.

miro_screenshot_3

Log Your First Bug From LambdaTest Integration With Miro


Step 1: Choose the type of test from the left navigation menu. For now, let’s go with the “Real-Time” Test”

miro_screenshot_6

Step 2: Enter your URL in the “Place your URL” dialog box. Choose the browser and OS Configuration you want to test on and click on ‘Start’.

miro_screenshot_7

Step 3: After the Virtual Machine is created and launched, you can perform manual tests on your Web-Application in the live environment to find bugs. When a bug is identified, click on the ‘Mark as Bug’ icon on the left panel to capture the screenshot.

miro_screenshot_8

Step 4: After capturing the screenshot, you can mark the issues identified on the page with the help of the in-built image editor. After highlighting the bug, click on the “Mark as Bug” button.

miro_screenshot_9

Step 5: A Miro tracker form would pop up to log the issue, you can fill the fields as per the case and click on ‘create issue’.

miro_screenshot_10

Step 6: The logged task can now be seen as a part of your board in your Miro Project. You can access your board in the dashboard under ‘All boards’.

miro_screenshot_11

Step 7: After logging into your board, you can see your task created on the board.

miro_screenshot_12

Step 8: Upon clicking on the task, you will be able to view all the details you entered while logging the bug on LambdaTest. You’ll be able to see the screenshot of the bug along with the configuration you tested on

miro_screenshot_13

Remove LambdaTest Integration With Miro


On LambdaTest’s Platform

In case you want to remove your Miro integration with LambdaTest, Here is how you can do that.

Step 1: Log in to your LambdaTest account.

Step 2: From the left navigation menu click on Integration. Under the My Integration section, you can see a remove button next to your Miro integration. By clicking on the remove button you can remove the integration.

Note: While removing the integration make sure you do the same from Miro so that you’ll be able to integrate LambdaTest with Miro again.

On Miro’s Platform

Step 1: Log in to your Miro account. Click on the profile icon on the top left corner and click on settings

miro_screenshot_14

Step 2: Click on Select ‘Apps and Integrations’ from the left navigation bar. Further, scroll down to “Installed Apps” and click on the LambdaTest icon.

https://www.lambdatest.com/integrations

Step 3: Under Apps & Integrations, scroll down and you’ll see the user history for the installation. Next to it you’ll see the option ‘uninstall for me’.

miro_screenshot_16

That was all you need to know for integrating LambdaTest with Miro. In case you have any doubts or questions, feel free to share them with our product experts on 24/7 chat support. Happy testing! 🙂

PractiTest Integration


PractiTest is a QA and test management solution to provide users with better control of their testing and development process. Enabling organizations to guarantee visibility and communication with relevant stakeholders. It also helps project development teams to streamline and manage their testing processes while providing management with a clear and simple view of their project status at all times.

LambdaTest’s integration with PractiTest will further help to log bugs to your projects on Pivotal Tracker. You can easily find and report any cross browser compatibility issues to your team instantly.

How To Integrate PractiTest With Your LambdaTest Account?


Step 1: Login to your LambdaTest account. Make sure you have admin or User level Acess. From the left navigation bar select ‘Integration’. Here you can find all the 3rd party tools you can integrate with the LambdaTest account. Under the Project Management category select ‘PractiTest’.

practitest_integration

Step 2: In the next screen, you will be asked to enter your PractiTest API token and your email address.

Practitest_API_KEY

Step 3: To get access to your API Token, you need to login to your PractiTest account first. Log in click on settings, and in settings click on account settings.

Step 4: In your general account information, in the API token section, you can see an option to view and edit.

Practitest-API-Token-create

Step 5: A new window will pop up with the name API Tokens, here you can create new API token key by entering a name for the key and click on add new. You can now see the API key.

api_key_practitest

Step 6: Use the API key and your email address to authenticate on your LambdaTest account as mentioned in Step 2

Lambda_practitest_installation

Step 7:Once you click on the install button, your PractiTest Account will be successfully integrated into your LambdaTest account.

Log Your First Bug From LambdaTest Integration With PractiTest


Step 1: Choose any test type from the left navigation menu. For our reference, let’s choose the “Real-Time” Test”

Step 2: Enter your URL in the “Place your URL” dialog box. Choose any browser and OS Configuration and click on ‘Start’.

Practitest_screenshot_1

Step 3: After this, a Virtual Machine with the specified configuration will be created. You can perform manual tests on your Web-Application in the live environment. In case of any bug identification, click on the ‘Mark as Bug’ icon on the left panel to capture the screenshot.

Practitest_screenshot_2

Step 4: After capturing the screenshot, you can mark the issues identified on the page with the help of the in-built image editor. After highlighting the bug, click on the “Mark as Bug” button.

Practitest_screenshot_3

Step 5: A PractiTest tracker form would pop up to log the issue, you can fill the fields as per the case and click on ‘create issue’.

Practitest_screenshot_4

Step 6: The logged task can now be seen in your PractiTest Project under the Icebox of your project as a story.

Practitest_screenshot_5

Step 7: Upon clicking on the task, you will be able to view all the details you entered while logging the bug on LambdaTest

Practitest_screenshot_6

Remove LambdaTest Integration With PractiTest


In case you want to remove your integration with LambdaTest, Here is how you can do that.

Step 1: Log in to your LambdaTest account.

Step 2: From the left navigation menu click on Integration. Under the My Integration section, you can see a remove button next to your PractiTest integration. By clicking on the remove button you can remove the integration.

Practitest_screenshot_7

Configure YAML For Integrating GoCD Pipelines With LambdaTest


Through our previous document, you were able to integrate GoCD pipelines with LambdaTest, and executed your first Selenium testing script through GoCD on LambdaTest. However, in our previous chapter we ran the test by copying the YAML from the cloned repository for GoCD. This topic will teach you how you can configure your own YAML through GoCD and then integrate your pipeline with our online Selenium Grid.

Note: If you are just getting started with GoCD then make sure to visit our documentation to integrate LambdaTest with GoCD.

Configuring YAML through GoCD


Step 1: Visit your GoCD dashboard and use Pipeline as a code.

Use Pipeline as Code

Step 2: By default, the configuration language will be set as YAML. Under Part 1, mention the link to our GitHub repository for GoCD and test the connection.

fetch github repository

Step 3: Now, in Part 2, make sure to label your Pipeline with a name of your choice. Here we have labelled it as Sample-GoCD-Pipeline. Similarly, in Part 3 for Stage details, provide a label for your Staging environment.

provide labels to stage and pipeline

Step 4: In Part 4 i.e. Job & Tasks, you need to specify a Job name as per your choice and enter the below commands.

Step 5: Under Advanced setting, you need to specify your LambdaTest authentication credentials as the environment variables.

lambdatest authentication creds as env variables

Step 6: You will find the YAML configuration file generated over the right side panel. In rare cases, if it doesn’t then you need to select the configuration language to first JSON, and then select YAML again. Now, if you scroll to bottom you will find a section to “Add Your Pipeline as Code Definitions to Your SCM Repository”. Click on the button to “Download Config”.

download config

Now, you just need to execute the job like we did in the previous chapter when we integrated GoCD with LambdaTest. That is all you need to do if you wish to configure a private YAML file before you run your Selenium testing scripts over LambdaTest Selenium Grid.

GoCD Integration With LambdaTest


GoCD offers a free and open-source platform to help you configure robust CI/CD pipelines with ease. The intuitive UI offers an end-to-end view wherein you can visualize the entire migration path to production in a collective view. That way, you can easily pinpoint the inefficient areas to optimize the CI/CD process. By leveraging GoCD, you can achieve faster feedback loops through its modelling constructs which makes your complex CI/CD pipeline looks a lot simpler. You also get features like dependency management & parallel execution to help you deliver better products quicker.

LambdaTest integration with GoCD will help your perform Selenium test automation for your code changes on more than 2000+ real browsers for both mobile and desktop. You can trigger your Selenium testing scripts directly from GoCD instance and they would be executed over your LambdaTest automation dashboard.

Prerequisites


  1. Copy the YAML configuration file from our GitHub repository for GoCD.
  2. LambdaTest Authentication Credentials
  3. Be aware of your LambdaTest authentication credentials i.e. your LambdaTest username, access key and HubURL. You need to set them up as your environment variables. You can retrieve them from your LambdaTest automation dashboard by clicking on the key icon near the help button.

    • For Linux/Mac:
    • For Windows:
  4. Make sure to install GoCD in your system.

Configuring GoCD Pipeline For LambdaTest Selenium Grid


Step 1: Visit your GoCD Dashboard and create a new pipeline by selecting the option to “Use Pipeline as Code”.

Use Pipeline as Code

Step 2: Scroll-down to the section to “Register Your Pipelines as Code Repo with GoCD” and untick the box for using the same SCM repository.

untick the box for using the same SCM

Step 2: Provide the LambdaTest GitHub repository for GoCD as the repository URL. Test you connection and provide a label for this repository. In our case, we have provided the label as Sample-Pipeline, you may keep something else for your instance.

insert LambdaTest GoCD repository

Step 3: After providing the GitHub repository, you will need to Scan it. Hit the highlighted button to Scan repository and you will notice that a respective YAML definition file would be through the repository.

Step 4: After scanning the repository, you need to scroll to bottom and hit finish. Make sure to specify the username and password under the advanced setting, for private repositories.

hit finish

Step 5: Once you hit the finish button. Under the Config repositories, you will find the details of the repository as specified by you.

config repositories

Step 6: Now, if you visit your GoCD dashboard, you will find the pipeline generated and the job in running state.

Step 7: If you open the pipeline and refer to the console then you will notice the current job status as passed.

job status as passed

Great work! You have successfully integrated your GoCD instance with your LambdaTest account. Follow our another documentation, if you wish to configure a private YAML and then integrate your GoCD pipeline with LambdaTest.

Basic Authentication For Password Protected Websites Or Web App

Step 1:Click the screenshot test in the Visual UI Test menu.

Step 2: Click on Basic Authorization

Step 3: Enter your credentials for the page

Step 4: Choose the devices and the browser and their version( both for desktop and mobile, you need to perform your test on and click on capture

How to change screenshot preference?

Step 1: You can change your preference for screenshots by clicking on the setting button