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:
Capability | Description | Example |
---|---|---|
appId | Enter the app id generated while uploading the app. | appId= lt://APP123456789123456789 |
testSuiteID | Enter the test suite id generated while uploading the test suite. | testSuiteID= lt://APP123456789123456789 |
device | Enter the name and OS version of the device in "DeviceName-OSVersion" format. | device= 'Pixel 3 XL-9' or device= 'Galaxy S21 Ultra 5G-11' |
video | Generate a video for all the tests that have run. | true or false |
queueTimeout | Enter the time in seconds after which you want your build to timeout from queue. | queueTimeout= 300 |
idleTimeout | Enter the time in seconds for maximum running time on a test in the build. | idleTimeout= 120 |
deviceLog | Boolean value to generate device logs. | deviceLog= true or false |
build | Set the name of the Espresso test build. | My Espresso Build |
geoLocation | Set the geolocation country code if you want to enable the same in your test. | FR |
tunnel , tunnelName | Set tunnel as true and provide the tunnelName as needed if you are running a tunnel. | tunnel= true tunnelName= NewTunnel |
disableAnimation | Set disableAnimation to true if you want to disable animations for espresso tests. Default value is false . | disableAnimation= false |
clearPackageData | Set clearPackageData to true if you want to clear the app data after each test has completed running. Default value is false . | clearPackageData= false |
singleRunnerInvocation | Set 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 |