如何使用参数在 Jenkins 管道作业中进行条件

时间:2021-03-02 08:54:09

标签: java selenium jenkins-pipeline testng

我是 Jenkins Pipeline 和 Selenium TestNG 的新手。我的问题陈述如下- 我有一个 selenium testng 套件,即以 xml 文件的形式为测试套件提供值。例如 : Username, Password, Host IP, Port etc 用于测试类

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="none">
 
    <parameter name="config-file" value=<values_file>/>
    
       <test name="Test1">
        <parameter name="testcaseFile" value="<data_file> />
          <classes>
            <class name="com.testcase1"/>
         </classes>
      </test>
      
      <test name="Test2">
        <parameter name="testcaseFile" value=<data_file> />
        <groups>
            <run>
                <exclude name="extendedtest" />
            </run>
        </groups>
        <classes>
            <class
    name="com.test3" />
        </classes>
    </test>
</suite>

包含所有值,即用户名、密码等。现在这个 .xml 文件被提供给 jenkins 以执行测试套件。

现在我被卡住的是上面的文件在日常构建中运行。现在说,如果我有一个临时测试要完成,说我已经启动并运行了所有环境,我所要做的就是手动将数据提供给 jenkins。即我通过参数化它创建了一个 jenkins 作业。如下图 -

properties([parameters([choice(choices: ['env1', 'env2', 'env3'], description: 'Select Type Of Environment to be executed', name: 'ENVIRONMENT'), string(defaultValue: 'IP', description: 'host', name: 'HOST_IP', trim: false), string(defaultValue: '0000', description: 'Port', name: 'HOST_PORT', trim: false), string(defaultValue: 'edward', description: 'username', name: 'USERNAME', trim: false), string(defaultValue: 'abc123', description: 'Password', name: 'PASSWORD', trim: false)])])
node {
    stage('Git Checkout') {
        echo "Checking out GIT repository"
        echo "Launching Tests with Parameters ${params.HOST_IP}"
        echo "On Environment ${params.ENVIRONMENT}"
    }
    
}

我如何将其条件化为 -

如果我从 Jenkins 作为参数提供数据,则直接运行套件

其他明智的选择 .xml 文件并在 jenkins 中执行 .xml 文件?

0 个答案:

没有答案
相关问题