Getting started with LambdaTest, the cloud distributed test execution platform.

ghislain Mukendi
Hivency
Published in
8 min readJul 28, 2021
  1. Introduction

LambdaTest is a cloud distributed test execution platform based on selenium Grid. It offers various possibilities of running automated parallel testing on multiple OSs, devices and browsers. Why use it? What are the advantages and benefits for a QA team? After having written an article on the role of a QA team in an agile environment, I wanted to give you my opinion on this platform and to deliver its strengths.

Before we start to go further into the presentation of LambdaTest, it is important to know that the main difference between this solution and the traditional selenium grid (on-premises testing) is the point of execution. Here, tests are run in a cloud infrastructure instead of having physical or virtual machines on its infrastructure, which reduces installation and maintenance costs.

The only thing needed in this case is to have a valid account on the LambdaTest platform and your test cases ready (manual or automated). You will have access to thousands of devices (machines and phones) running on different platforms with different browsers and versions on them.

This solution provides many benefits:

  • Scalability
  • Reliability
  • Hardware maintenance
  • Software maintenance

LambdaTest offers to run different types of test cases:

  • Live Test for manual execution and real time interaction
  • Automation Test for automated test cases from your local machine or from your favorite cloud repo.
  • Responsive Test: to test responsiveness (LT Browser)
  • Screenshot Test: to capture screenshots

In this article, we will mainly focus on creating our account and getting started with our first test case using the different types of Test and the display of their respective results.

2. Account creation

As mentioned earlier in the introduction, it’s mandatory to have an account on LambdaTest platform in order to get access and start using it:

1. In the address bar, go to https://www.lambdatest.com/ and click on “Start Free Testing”.
2. You can sign up by using a Gmail account and clicking on the “Sign up with Google” button, or fill in the requested information and hit ‘FREE SIGN UP’. You will then get an email to confirm your registration, where you’ll get a PIN to use for confirmation.

Photo credit Ghislain MUKENDI KALONJI

3. Enter the PIN sent to the email address used for account registration. You will then have access to the platform with the registered email.

4. Click on the profile icon in the top right and select profile in the drop-down list.
5. Copy the access token (for later use).

3. Run first test

  • Live Test

Testers can take advantage of the availability of different devices, OSs and browsers to manually run their test cases on them.

The ‘Live Test’ button on the dashboard (for the first time) or ‘Real Time Testing’ Item on the left sidebar Menu is highlighted for that action:

Before starting, set the configuration:

  • Type the page URL and optionally the tunnel,
  • Select the browser and its version, the platform and the screen resolution.

e.g.: http://www.google.com/, Chrome 90, Windows 10 with resolution 1280x800

  • Click the “Start” button and run your manual tests on the platform

3.2. Automation Test

On LambdaTest, we can perform automated tests using 4 binding programming languages with selenium grid: Java, NodeJS, Python and Ruby.
The common steps for these languages are as follows:

  1. From the Get started, click on ‘Automation Test’ button on the dashboard or click on the “automation” Item on the left sidebar Menu.

2. Select OS, browsers and versions and resolution in the capability generator section
3. Select the programming language (It’s set to java by default).

In this step, a sample test script is generated with all the selected options set on the script with the Desired capabilities:

3.2.1. Porting Java Tests to LambdaTest Grid

The following example uses TestNG framework to automate browser testing:

Note: You can obviously customize your test case by modifying the implementation of the testScript method.

4. Click on ‘prepare test script’
5. Select the host OS name.
6. Click on “Download to save the test file on your local machine in a particular folder (e.g.: testLambda)
7. To manage the project and all required dependencies, download (In the same folder) the pom.xml file or copy the script below to create it:

8. Create a testng.xml file.

Don’t forget to rename the class name and the package where it’s saved (if there is any) in the class tag.

<class name=”packageName.className”/>

9. Install the required package (java, Selenium client and its WebDriver Bindings) on your local machine https://www.selenium.dev/downloads/.
10. Click on ‘Go to Build’
11. In the command prompt, run the maven build by executing: mvn test (Maven should be installed and configured on your local machine beforehand).

3.2.2. Porting NodeJS Tests to LambdaTest Grid

For the NodeJS binding language, the generated test case can be downloaded after the ‘prepare test case’ step (step 4) or you can copy/paste and save it to a particular folder.

In the terminal, you can go to the folder where the test case is saved and run the following commands:

and run the test case by executing the test case file:

3.2.3. Porting Python Tests to LambdaTest Grid

Download the generated file (or copy/paste and save the following script) to a specific location:

In the terminal, go to the place where the file is saved and run the following commands:

  • Install dependencies

PS C:\Users\muken\Desktop\Automaton\examples\LambdaTest> install pytest

PS C:\Users\muken\Desktop\Automaton\examples\LambdaTest> install selenium

Run the test case:

3.2.4. Porting Ruby Tests to LambdaTest Grid

In the terminal, go to the place where the file is saved and run the following commands:

  • Install dependencies

to run the test case, execute the following command:

2.2. Responsive Test

Knowing if a developed site/app behaved well in responsiveness has become a necessity nowadays. LambdaTest provides all the tools necessary to perform these tests on different devices, including Desktop applications tests. To do it:

  • Click on the “Responsive Test” button (in the dashboard when you start) or click on the “LT Browser” item in the left sidebar menu
  • Install the executable downloaded
  • Log on to the installed application and open up the LT Browser app
  • You can explore the available devices on the left sidebar of the LT browser, or add a new device (on the right side) if it’s not listed.
  • Select one device and start testing the responsiveness of your app on the selected device.

At the end, you can generate a performance report by clicking on the purple icon in the top right

2.3. Screenshot Test

It is also possible to have screenshot testing on LambdaTest by clicking on the “Screenshot Test” button on start-up or clicking on “Visual UI Testing” Item on the left side Menu bar.

  • By default, you’ll be in the “Screenshot” section. Select the version under a desired browser beside the OS that you need your app to be tested under (you can select more than one option up to 25 screenshots).
  • Enter the URL of your app in the dedicated placeholder.
  • Click on the “Capture” button. The capture will start until the screenshot is generated.

You can also test the responsiveness of your Web App in this section by using the responsive section of the” visual UI Testing”.

There is also “Smart Testing” which can allow the comparison of images and can validate your resulting images.

3. Display Test results

Once the test cases have been executed, we can check results and logs on the platform. For all the test types, except Automation.
The details of the test execution can be viewed in the “Test Logs”

For automation, a summary of the results is directly visible under the timeline tab. Log details can be viewed on the ‘automation log’ tab. In this tab, a video of the test execution is available. There are also logs, metadata and commands executed at each step with the possibility to report a bug for each step of execution:

By providing environments that allow parallel testing on different devices, OSs, browsers and versions, selenium grid cloud testing helps companies gain scalability, reliability and reduce software and maintenance costs.

Through the functionalities of “live testing”, “automation testing”, “responsive Test” and “screenshot Test”, LambdaTest offers integration of your tests on their platforms and the advantage of the benefits offered by a parallel testing service on the cloud.

Have you already used lambdaTest or another similar tool before?
What do you think about cloud platforms based on selenium Grid solutions?
I would be curious to hear your feedback on your first experience with LambdaTest:
what features did you like and what more you would like to see implemented ?
Did LambdaTest meet your expectations?

The next article on the LambdaTest platform will cover more details on a feature of your choice.

Happy testing!

--

--

ghislain Mukendi
Hivency
Editor for

QA and Devops Engineer helping companies set up processes, tools and teams from scratch and help them scale to ISO 9001 quality management.