Running Geb Tests On LambdaTest Selenium Grid


Based on Groovy, Geb is a web testing automation framework. It is build as a wrapper over Selenium WebDriver which makes it ideal for automated browser testing. Geb can help you automate cross browser testing over every browser that is supported by Selenium WebDriver. Geb offers excellent features for web testing, screen scraping, and more. What makes Geb unique is the way it queries your HTML pages, it does so by offering the jQuery-like syntax. Also, it provides built-in support for the Page Object pattern.

LambdaTest integration with Geb will help you execute your Geb automation scripts on our online Selenium Grid of 2000+ real browsers to ensure your web application renders well on as many browsers as you are targeting to test. This topic will talk about the:

  • Prerequisites for running Geb script on LambdaTest.
  • Executing first Geb script on LambdaTest.
  • Executing parallel testing using Geb on LambdaTest.
  • Executing automated browser testing on locally hosted web application using Geb.

Prerequisites To Run Geb Scripts On Our Selenium Grid


  • Install Maven.
  • Make sure you have Java installed in your system. We recommend installing Java 8 or above version for more stable execution.
  • LambdaTest Authentication Credentials
  • You will need 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:
  • Clone LambdaTest GitHub repository for Geb framework.

Executing Your First Geb Script On LambdaTest


Step 1: Navigate to the LambdaTest Geb cloned directory.

Step 2: Compile Maven dependencies. Using the below command.

Note: You may also want to run the command below to check for outdated dependencies. Please be sure to verify and review updates before editing your pom.xml file. The updated packages may or may not be compatible with your code.

Step 3: Edit the capabilities.json file with the Desired Capabilities of your preference as shown below.

Note: If you wish to change the desired capabilities for your Selenium automation testing scripts then you can leverage our Desired Capabilitites Generator. The Capability Generator will help you with the syntactically correct Desired Capabilities class based upon your selections from the drop-down menus.

Step 4:Use the command below from the root of the project to run your tests.

Executing Parallel Testing With Geb


You need to clone the LambdaTest Geb repository. To run your Geb automation scripts in parallel over different browser testing configuration, you would need to add extra capabilities in your capabilities.json file. For example:

After specifying the extra capabilities, you need to run the same command as you did for running your first script from the root of your project.

It will run the tests in your project with each of the configurations listed concurrently by configuration. i.e. all configurations will run at the same time. Individual test outputs will be routed to a log file named after the configuration in the project root folder.

Note: It may be useful to use a Java IDE such as IntelliJ or Eclipse to help troubleshoot potential issues.

Testing With Geb On Locally Hosted Web Applications


LambdaTest offers a SSH(Secure Shell) tunnel to help you test your locally hosted web application on cloud servers hosted by us. We call it the Lambda Tunnel. Using Lambda Tunnel, you can establish a unique, private and reliable connections on our cloud machines and run your automation testing scripts.

To run your test cases on Lambda Tunnel, you would need to set the tunnel flag to true in our desired capabilities generator or you could simply add the below in your capabilities.json file.

Kudos! That is all you need to know to learn Geb scripts on LambdaTest online Selenium Grid. In case you have an questions feel to let us know. You can drop a message to our 24/7 customer chat support, or you could mail them to us over support@lambdatest.com. Happy testing! 🙂

Backlog Integration


Backlog provides an online platform for project & code management. Using Backlog, you can collaborate with your teams working in different parts of SDLC(Software Development Life Cycle). It lets you organize, discuss, and track all the work in one place. It offers out-of-the-box features to help you orchestrate your release cycles better. Some of the important features include Git hosting, Git version control, and issue tracking.

LambdaTest integration with Backlog will help you file any UI bug on your Backlog project instance, directly from LambdaTest. If you ever come across a browser compatibility bug while cross browser testing on LambdaTest, all you need to do is hit a single click and the bug will be logged into your Backlog project.

How To Integrate Backlog With Your LambdaTest Account?


Step 1: Login to your LambdaTest account. You would need to have Admin or User level access to see and install integrations.

Step 2: Select ‘Integration’ from the left navigation menu bar. This will guide you to a screen where you will find a list of 3rd party applications, available to integrate with your LambdaTest account.

Step 3: Under the category of Project Management, click on the block that says ‘Backlog’.

click on backlog

Step 4: You will be routed to the below screen where you are required to fill your Backlog URL and API key.

backlog API and URL

Step 5: Login to your Backlog account and you will find the Backlog URL on top of your browser’s address bar.

Backlog URL

Step 6: On top-right corner of your Backlog instance, you will find a drop-down menu with your profile icon. Click on the drop-down and go to “Personal Settings”.

go to backlog personal settings

Step 7: In your personal settings, go to API. Enter a random string of characters in the Memo field and hit the Submit button. You will find an API key generated based on the Memo. Copy this API key as it would be used to authenticate yourself while integrating LambdaTest with Backlog.

backlog API

Step 8: Paste your Backlog URL and API key on the LambdaTest, and then hit the Install button.

click install button

Step 9: You will now be routed back to the integrations where you will notice a green tick over the block for Backlog indicating that the integration has been successful. The refresh button will help you synchronize your Backlog account with LambdaTest in just a single click. So if in near future you add more projects on you backlog dashboard then all you need to do is hit that refresh icon and LambdaTest will be able to fetch your latest projects instantly.

green tick

Log Your First Bug From LambdaTest Integration With Backlog


Step 1: Go for any of the test from the left navigation menu. For demo, we will be taking “Real Time Test” option.

Step 2: Present a URL of the web-app you need to test in the dialog box. After that, select any configuration for browser and operating system of your choice & hit ‘Start‘.

Step 3: After the VM is launched and operable. You can perform testing on your web-app for finding bugs. If a bug gets revealed, then you need to click on the Bug icon from the left panel for capturing a screenshot of the same. We have highlighted that option with yellow in the below image.

Click on bug icon to mark a bug

Step 4: After a screenshot is captured, you can annotate any issue or a task with an in-built image editor. Once you are done highlighting the bug, click on the button that says “Mark as Bug”.

click mark as bug

Step 5: After clicking on “Mark as Bug” button a form specific to Backlog would open up. Fill the fields as per your requirement, and create the issue.

mark a bug
Note: After you click on “Create Bug”, you will be able to observe it being successfully marked through a single click effort. You will get prompt messages on top of your Virtual Machine indicating the progress of bug logging. After few seconds you will be notified with a prompt message “Bug successfully marked” indicating that the screenshot has been pushed to your Backlog project.

LambdaTest & Microsoft Teams Integration

Step 6: Now, go to your Backlog project and you will notice your logged task under the specific project that you assigned it through LambdaTest. All the test environment details will already be present in the created task.

bug details on backlog

Remove LambdaTest Integration With Backlog


You can work with one integration at a time. So if you would want to integrate to a similar 3rd party application, then you would have to remove your current integration. Here is how you can do that.

Step 1: Login to your LambdaTest account.

Step 2: Select ‘Integrations’ from the left-navigation menu. This will guide you to a screen where you will find 3rd party applications, available to integrate with your LambdaTest account.

Step 3: Click on ‘REMOVE’. You can find the remove button under the ‘Backlog’ block which would be highlighted with a green tick.

remove backlog from integrations

That was all you need to know for LambdaTest + Backlog Integration. Increase your productivity with our integrations. If you still have any questions for us, please feel free to let us know. Our experts are always available on chat to help you out with any roadblock regarding our product. Happy testing! 🙂

Team Communication Tools


LambdaTest allows you to integrate your LambdaTest account with your favourite communication tools. That way you can instantly share any UI bug that you come across while cross browser testing over 2000+ real browsers hosted by LambdaTest cloud servers. Here are the instant messaging tools that you can integrate with LambdaTest.

Got something to recommend?
We would love to hear it. Drop the suggestion in the 24/7 customer chat support for any other instant-messaging or team communication tool that you may want us to integrate with.

Plugins and Extensions


LambdaTest offers you plugins with various third-party application to help you perform cross browser testing on 2000+ real browsers with pace and convenience. Here are all the plugins and extensions available to integrate LambdaTest and perform testing in a jiffy.

Got something to recommend?
We would love to hear it. Drop the suggestion in the 24/7 customer chat support for any plugin that you may want us to integrate with.

Test Reporting & Test Management Tools


LambdaTest offers integration with test reporting and test management tools, allowing you to conveniently manage your test execution reports, as you perform cross browser testing using LambdaTest. Using the integration with your favourite test reporting and test management tools, you can view and analyze the results of your automated browser testing on 2000+ real browsers and operating systems, executed over LambdaTest.

If your favourite test reporting and test management tool is not in the above mentioned, then just give us a shout and we will have it ready shortly for you.

Codeless Automation Tools


LambdaTest offers integration with codeless automation tools to help you expand your cross browser testing coverage. Using the integration with your favourite codeless automation tool, you can perform automated browser testing on 2000+ real browsers and operating systems.

If your favourite project management or bug tracking tool is not in the above mentioned, then just give us a shout and we will have it ready shortly for you.

Project Management Tools


LambdaTest offers integration to numerous third-party tools for project management and bug tracking to help you easily collaborate with your colleagues as you encounter a bug while performing cross browser testing. After integrating your LambdaTest account with your favourite project management tool or bug tracking tool, you can send any UI bug that you may encounter on your website, directly to your task management dashboard, in just a single click from LambdaTest.

If your favourite project management or bug tracking tool is not in the above mentioned, then just give us a shout and we will have it ready shortly for you.

Automation Testing With Mocha And Selenium


Mocha is one of the most renowned test automation frameworks for JavaScript. It offers powerful test reporting with serial test execution for asynchronous testing, along with immense browser support. The best part is that it runs on Node.js and highlights uncaught exceptions to the appropriate test cases, making it fairly adaptable for budding automation testers.

This document will help you execute your test automation scripts using Mocha with Selenium Grid on-cloud. You will be learning about:

  • Prerequisites
  • Running your first automation test case using Mocha.
  • Parallel testing with Mocha and Selenium.
  • Running Mocha tests for locally hosted web application.

Prerequisites To Run Mocha and Selenium Testing


Important: Clone LambdaTest GitHub repository for Mocha and Selenium.

  • LambdaTest Authentication Credentials
  • You need to know your LambdaTest authentication credentials i.e. your LambdaTest username, access key and HubURL. You need to set them up as your environment variables.

    After cloning the repository, you would need to update the *.conf.js files inside the conf/ directory with your LambdaTest Username and Access Key.

    You can retrieve them from your LambdaTest automation dashboard by clicking on the key icon near the help button or by running the below commands in your cmd/terminal.

    • For Linux/Mac:
    • For Windows:
  • Global Dependencies
    • Make sure to install Node.js from their official website.
    • You could also install Node.js using Homebrew.

First Automation Test Case using Mocha and Selenium


After cloning the LambdaTest GitHub repository for Mocha and Selenium and configuring your LambdaTest authentication credentials in the conf.js file. You now need to simply run the below command for executing your first automation test script using Mocha and Selenium.

Parallel testing with Mocha and Selenium


With LambdaTest’s online Selenium Grid, you can execute Selenium scripts in parallel, allowing your team to shorter test cycles and faster product delivery. You could run a similar test case on multiple browser + OS combinations or you could run multiple test cases over a single browser + OS combination.

The more concurrent sessions you have, the more tests you can run in parallel. If you are confused about how many parallel sessions you may need? Don’t be! We have come up with a Concurrency Calculator that helps with an estimate of the number of concurrent sessions you need to go for!

Use the below command to run your Mocha and Selenium test cases in parallel.

Mocha & Selenium Tests for Locally Hosted Web Pages


Using Lambda Tunnel you can perform cross browser testing of your locally hosted web pages and web applications on 2000+ real browsers hosted on our cloud servers. Lambda Tunnel establishes an SSH(Secure Shell) connection between your local machine and our cloud servers.

Refer our LambdaTest Tunnel documentation for more information.

Download latest LambdaTest Tunnel binary file and extract it.

To run your Mocha automation script for locally hosted web applications on LambdaTest Selenium Grid, you would need to set the Tunnel Capability flag to true.

You can also refer to our Selenium Desired Capabilities Generator to get the Capabilties class as per your requirements without having to code yourself.

Important Note

Some Safari & IE browsers, doesn’t support automatic resolution of the URL string “localhost”. Therefore if you test on URLs like “http://localhost/” or “http://localhost:8080” etc, you would get an error in these browsers. A possible solution is to use “localhost.lambdatest.com” or replace the string “localhost” with the machine IP address. For example, if you wanted to test “http://localhost/dashboard” or, and your machine IP is 192.168.2.6 you can instead test on “http://192.168.2.6/dashboard” or “http://localhost.lambdatest.com/dashboard“.

Kudos! That is all you need to run your Mocha test scripts on LambdaTest Selenium Grid. You can view the results of your test script execution on the LambdaTest Automation Dashboard.

Got Questions?
Feel free to give us a shout on our 24/7 in-app customer chat support. You can even mail to support@lambdatest.com. Happy Testing! 🙂

Sharing Lambda Tunnel


LambdaTest is a cross browser testing tool which allows you to test your locally hosted website or web application on 2000+ real browsers. It does so with the help of an SSH(Secure Shell) tunnel which establishes a secure and unique connection from your local system to LambdaTest cloud servers.

Earlier with Lambda Tunnel, users belonging to the same organization were able to choose any tunnel they want. So if a team had 5 members and all of them had configured their own tunnels, then they were able to shuffle their SSH tunnel connection with any of the 5 connections. However, that is not the case anymore!

Now, a user can only work on a user-specific SSH tunnel connection. In case you wish to keep a common SSH tunnel connection across all your teammates then you will need to establish a shared Lambda Tunnel that would work for all of the teammates, listed under your organization at LambdaTest.

This document will help you share your Lambda Tunnel with colleagues listed as team in your LambdaTest account.

Configuring Lambda Tunnel


Step 1: Download the zip file of Lambda Tunnel for your operating system:

Step 2: Extract the zip file in your system and route your CMD/terminal to the same folder where the zip file is extracted. For demonstration purpose, we have extracted the zip file to desktop so you will find the CMD to be pointed towards the desktop.

point cmd to same folder where the zip file is stored.

Step 3: To configure a shared Lambda Tunnel you would need to append an argument -shared-tunnel to the command used for invoking Lambda Tunnel. Syntax to configure a shared SSH Lambda Tunnel would be:

So for example, if your user login email is example@lambdatest.com and your user key is 123asd123, the command would be:

command to run shared tunnel

Step 4: As you run the above command you will find the below console UI indicating with a message that the tunnel is successfully established.

shared tunnel established successfully

That is it, if your teammates will now open their LambdaTest account then they will find your Tunnel to be active for them by default.

Don’t Forget To Name The Shared Tunnel


It could be problematic if 2 or more teammates start sharing their tunnels across the organization, as a best practice we recommend you to name the Shared tunnel appropriately so your teammates could easily identify which SSH tunnel is their own and which is the one shared by you.

To name a shared tunnel you will have to append another argument in the command for configuring tunnel. The new argument would be: -tunnelName {string}

Syntax:

Example

SharedSSH-Example

Important Note: If you are running local host at a port which is different from the default port being used your team then make sure to tell them so they can address it in the URL while performing cross browser testing at LambdaTest. For example, if you are running Apache server at port 4200, and want your teammates to hop over a URL that is hosted locally by you, then they will have to specify port 4200 before they hit the start testing button on LambdaTest.

specify the port for localhost

Kudos! You have successfully created a Shared Lambda Tunnel for your organization. If you still have any questions, feel free to share them with us through our 24/7 chat support or by mailing to us on support@lambdatest.com. Happy testing! 🙂

Run Oxygen Automation Scripts On LambdaTest Selenium Grid

Oxygen is an open-source test automation framework offering a low code approach for Selenium and Appium test, meaning the scripts although based on JavaScript, look almost as plain as English, making them intuitive.

Oxygen supports LambdaTest Selenium Grid, meaning you can configure your LambdaTest account on your Oxygen instance to perform cross browser testing on 2000+ real browser running on real operating systems, on-cloud. That way you can eliminate the need for configuring in-house Selenium Grid infrastructure and run your Oxygen IDE test over a wider test coverage.

Prerequisites


  • Make sure to download the Oxygen framework for your operating system.
  • Retrieve your LambdaTest authentication credentials i.e. your LambdaTest username, access key and HubURL. You can do so by visiting the LambdaTest automation dashboard and clicking on the key icon near the help button.
  • Automation dashboard key icon

Configure LambdaTest Authentication Variables In Oxygen


Step 1: Open the Oxygen framework and click on the cloud icon on the upper-right corner.

click on the cloud-icon

Step 2: Turn on the toggle for LambdaTest to run your Oxygen automation scripts on LambdaTest Selenium Grid of 2000+ real browsers.

Toggle LambdaTest

Step 3: Once you turn the toggle on, you need to fill the mandatory fields to run your Oxygen tests on LambdaTest Selenium Grid. These mandatory fields include your Hub URL, your LambdaTest username, and your LambdaTest access key.

Hub URL, username, and access key

You can also capture browser console, network logs, screenshots, and video-recording for your Oxygen test execution over LambdaTest Selenium Grid by enabling the checkboxes. After selecting the preferred checkboxes and filling the mandatory fields, click on Save & Close.

save and close

Step 4: You will now find a drop-down beside the Run button which says Local, indicating that the tests are being executed on your Local machine. To run the tests on LambdaTest cloud, you would need to select the value for LambdaTest.

select LambdaTest from dropdown

Kudos! That is all you need to do for integrating your Oxygen framework with LambdaTest Selenium Grid. Now, as you run the test it would be executed over the Selenium Grid offered by LambdaTest which would enable you to ensure a sturdy cross browser compatible web-application.