Skip to main content

Gradle Integration with LambdaTest


Gradle is a build automation tool for multi-language software development. It controls the development process in the tasks of compilation and packaging to testing, deployment, and publishing. Supported languages include Java, Kotlin, Groovy, Scala, C/C++, and JavaScript.

Steps to Setup the Gradle Plugin

Step 1: Add LambdaTest Gradle Plugin to the build.gradle file.

buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "io.github.lambdatest:lambdatest-gradle-plugin:1.0.5"
}
}

apply plugin: "io.github.lambdatest.gradle"

Step 2: Configure LambdaTest Parameters in build.gradle

runLambdaTest {
username = '<your_lambdatest_username>'
accessKey = '<your_lambdatest_access_key>'
appFilePath = '<path_to_your_App_File>'
testSuiteFilePath = '<path_to_your_Test_Suite>'
device = '<your_desired_device_for_Testing>'
isFlutter = true # if you are running flutter dart tests
appId = "lt://1234343" #provide this only if you have already uploaded the app
testSuiteId = "lt://1223444" #provide this only if you have already uploaded the app
}

Execution

To run the plugin added in the project's build.gradle, use the following command:

./gradlew runLambdaTest

Supported Capabilities

The LambdaTest Gradle Plugin supports the following capabilities:

CapabilityDescriptionExample
appIdEnter the app id generated while uploading the app.appId= lt://APP123456789123456789
testSuiteIDEnter the test suite id generated while uploading the test suite.testSuiteID= lt://APP123456789123456789
deviceEnter the name and OS version of the device in "DeviceName-OSVersion" format.device= 'Pixel 3 XL-9' or device= 'Galaxy S21 Ultra 5G-11'
videoGenerate a video for all the tests that have run.true or false
queueTimeoutEnter the time in seconds after which you want your build to timeout from queue.queueTimeout= 300
idleTimeoutEnter the time in seconds for maximum running time on a test in the build.idleTimeout= 120
deviceLogBoolean value to generate device logs.deviceLog= true or false
buildSet the name of the Espresso test build.My Espresso Build
geoLocationSet the geolocation country code if you want to enable the same in your test.FR
tunnel, tunnelNameSet tunnel as true and provide the tunnelName as needed if you are running a tunnel.tunnel= true
tunnelName= NewTunnel
disableAnimationSet disableAnimation to true if you want to disable animations for espresso tests.
Default value is false.
disableAnimation= false
clearPackageDataSet clearPackageData to true if you want to clear the app data after each test has completed running.
Default value is false.
clearPackageData= false
singleRunnerInvocationSet singleRunnerInvocation to true if you want to execute test cases together with a single test runner invocation.
This can help significantly speed up the test execution time. By default, each test case is invoked separately.
Default value is false.
singleRunnerInvocation= true