Jenkins Pipeline提供用户输入以运行特定的testng.xml

我正在使用Gradle与Selenium(Java)Testng来自动化我的测试用例,并选择Jenkins来构建脚本。

我的工作区中的 src / test / resources -> ACE_Regression (软件包)

下有很多 testng.xml 文件>

我的 build.gradle 看起来像这样

buildscript 
{

ext

 {

testNgVersion = "6.14.3"

    }
}

apply plugin: 'java-library'

repositories {

    jcenter()

     mavenCentral()

}

dependencies {

    api 'org.apache.commons:commons-math3:3.6.1'

    implementation 'com.google.guava:guava:27.0.1-jre'

    implementation 'com.google.guava:guava:27.0.1-jre'

    testImplementation 'junit:junit:4.12'

    implementation "org.testng:testng:$testNgVersion"

    compile group: 'org.freemarker',name: 'freemarker',version: '2.3.23'

    compile group: 'org.seleniumhq.selenium',name: 'selenium-java',version: '3.14.0'

    compile group: 'com.aventstack',name: 'extentreports',version: '3.0.6'

    compile group: 'com.relevantcodes',version: '2.41.2'

    compile group: 'org.apache.poi',name: 'poi',version: '4.0.0'

    compile group: 'org.apache.poi',name: 'poi-ooxml',version: '4.0.0'

    compile group: 'commons-io',name: 'commons-io',version: '2.4'

    compile group: 'ru.yandex.qatools.ashot',name: 'ashot',version: '1.5.2'

    testCompile group: 'io.rest-assured',name: 'rest-assured',version: '3.0.0'

    compile group: 'com.googlecode.json-simple',name: 'json-simple',version: '1.1.1'

  compile group: 'org.apache.logging.log4j',name: 'log4j-api',version: '2.12.1'

  compile group: 'org.apache.logging.log4j',name: 'log4j-core',version: '2.12.1'  

}



test {

useTestNG() 

{

suites "src/test/resources/ACE_Regression/Acelogin.xml"

suites "src/test/resources/ACE_Regression/CLAs.xml"

    }
}

现在,我使用“ gradlew测试”从jenkins运行测试。

我想让jenkins提供输入以仅运行CLAs.xml文件。像这样,我有许多XML文件可用。我想将作业参数化以仅选择所需的testng文件并运行。

有人可以帮助我如何在build.gradle文件和jenkins中设置此测试任务

预先感谢

htkb07 回答:Jenkins Pipeline提供用户输入以运行特定的testng.xml

build.grade 中修改useTestNG()。它应该接受一个动态参数,例如xmlName。

test {

    useTestNG() 
        {
           suites "src/test/resources/ACE_Regression/${xmlName}.xml"
        }
    }

在gradle调用块中使用-P选项传递xmlName。即gradlew test -PxmlName=CLAs,它应该可以工作。

要使其更具动态性,请对您的詹金斯构建进行参数化。通过 testSuites 的名称创建选择参数,并在其中添加所有可能的xml文件名。 然后将此选择参数传递到gradle调用命令块,即gradle test -PxmlName=${testSuites}

本文链接:https://www.f2er.com/3140932.html

大家都在问