简体   繁体   中英

gradle.properties not taking values from command line

I have gradle.properties file for which I am passing value from command line as below command but not taking the value.

gradle test -DsystemProp.RunnerApplication=QAEnv -Dgroups=CSP-Smoke

My build.gradle file code as follows-

import java.util.concurrent.TimeUnit
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "io.spring.gradle:dependency-management-plugin:1.0.3.RELEASE"
        classpath group: 'org.testng', name: 'testng', version: '6.8.+'
    }
}
plugins {
    id 'java'
}
apply plugin: 'java'
group 'org.csp.xxxx'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
    mavenCentral()
}

test {

    systemProperty "RunnerApplication",System.getProperty("RunnerApplication")

    reports {
        junitXml.enabled = true
        html.enabled = true
        reports.junitXml.destination = file("test-output/reports/")
    }
    def Coregroups = System.getProperty('groups','Core-Smoke \n CSP-Smoke')
    useTestNG()
            {
                includeGroups Coregroups
                useDefaultListeners = true
                options.suites("src/test/java/TestAPISuite.xml")
                //options.listeners << 'com.ddddd.smsApi.qa.framework.listener.CustomListener'
                //options.listeners << 'com.dddd.smsApi.qa.framework.listener.EmailListener'
                options.listeners << 'org.uncommons.reportng.HTMLReporter'
                options.listeners << 'org.uncommons.reportng.JUnitXMLReporter'
                systemProperty 'org.uncommons.reportng.title', 'csp_api_automation_results'
            }
    testLogging.events "passed", "skipped", "failed"
    testLogging.exceptionFormat = "full"
    //Interceptors
    beforeTest { desc ->
        println "\n*** Starting execution of test ${desc.className}.${desc.name} ***"
    }
    afterTest { descriptor, result ->
        println "<<< Test ${descriptor.name} resulted in ${result.resultType} and took "+getElaspedTime(result.endTime - result.startTime)+" >>>\n"
    }
    //Modify the test logging
    testLogging {
        showStandardStreams = true
        exceptionFormat "full"
    }
}
sourceSets {
    main {
        runtimeClasspath = files(output.resourcesDir) + runtimeClasspath
    }
    test {
        runtimeClasspath = files(output.resourcesDir) + runtimeClasspath
    }
}
dependencies {
    compile group: 'io.rest-assured', name: 'rest-assured', version: '3.0.2'
    testCompile group: 'org.testng', name: 'testng', version: '6.8.+'
    //An assertion library that is better than JUnit defaults
    testCompile 'org.easytesting:fest-assert-core:2.0M10'
    //Better reporting for testng.  It outputs a nice html report
    testCompile 'org.uncommons:reportng:1.1.4'
    compile group: 'org.apache.poi', name: 'poi-ooxml', version: '3.15'
    compile group: 'net.sourceforge.jexcelapi', name: 'jxl', version: '2.6.12'
    compile group: 'commons-lang', name: 'commons-lang', version: '2.6'
    compile group: 'com.googlecode.htmlcompressor', name: 'htmlcompressor', version: '1.5.2'
    compile group: 'commons-dbutils', name: 'commons-dbutils', version: '1.6'
    compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.6'
    compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.6'
    compile group: 'mysql', name: 'mysql-connector-java', version: '6.0.5'
    compile group: "com.github.fge", name: "json-schema-validator", version: "2.2.6"
    compile group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'
    compile group: 'org.json', name: 'json', version: '20160810'
    compile group: 'org.uncommons', name: 'reportng', version: '1.1.4'
    compile group: 'com.google.code.guice-repository', name: 'guice-repository', version: '2.1.0'
    compile group: 'org.easytesting', name: 'fest-assert-core', version: '2.0M10'
    compile group: 'org.uncommons', name: 'reportng', version: '1.1.4'
    compile group: 'org.apache.commons', name: 'commons-csv', version: '1.5'
    compile group: 'org.apache.commons', name: 'commons-exec', version: '1.3'
    compile group: 'com.opencsv', name: 'opencsv', version: '4.1'
    compile group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.0'
    compile group: 'org.slf4j', name: 'slf4j-simple', version: '1.6.1'
    compile group: 'com.sun.mail', name: 'javax.mail', version: '1.6.0'
    compile group: 'javax.mail', name: 'javax.mail-api', version: '1.6.2'
    compileClasspath group: 'org.testng', name: 'testng', version: '6.8.+'
    // https://mvnrepository.com/artifact/com.cedarsoftware/json-io
    compile group: 'com.cedarsoftware', name: 'json-io', version: '2.6.0'
    // https://mvnrepository.com/artifact/org.apache.poi/poi
    compile group: 'org.apache.poi', name: 'poi', version: '3.17'
    // https://mvnrepository.com/artifact/com.aventstack/extentreports
    compile group: 'com.aventstack', name: 'extentreports', version: '4.0.9'
}
def getElaspedTime(def time) {
    if(time / 1000 < 1)
    {
        return String.format("0 min, %.3f sec", time/1000)
    }
    else
    {
        return String.format("%d min, %d sec",
                TimeUnit.MILLISECONDS.toMinutes(time),
                TimeUnit.MILLISECONDS.toSeconds(time) -
                        TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(time))
        )
    }
}

systemProp.RunnerApplication=dev is the key and value saved in my gradle.properties. Here I want to run as RunnerApplication=QAEnv so automation can run in different environments

But its is always running on dev even Passing QAEnv in command line.

I would really appreciate your help.

You are passing in two system properties. One is prefixed with systemProp. and the other isn't. This should indicate to you that one of them is wrong. And it's the former :)

There is a use for the systemProp. prefix, but only when declaring system properties through the gradle.properties file. Here, you are declaring them from the command line.

So instead of:

gradle test -DsystemProp.RunnerApplication=QAEnv -Dgroups=CSP-Smoke

Run:

gradle test -DRunnerApplication=QAEnv -Dgroups=CSP-Smoke

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM