如何从 Jenkins 管道将配置设置到 Mobile Center?

how to set from Jenkins pipeline the configuration to Mobile Center?

我有一些用于回归测试的脚本。我创建了管道并将隔离测试置于自由式作业中。

在使用 MicroFocus 插件的作业中,我们可以设置配置,使用 wizzard,因此我们可以 select 设备、应用程序和应用程序版本等优先于保存在上的 UFT 脚本配置脚本。
在管道中,我们没有那个选项,所以自动读取脚本中的配置并执行测试。

关键是让开发团队能够 运行 脚本而无需我重新配置脚本,保存并推送到 GIT 他们想要测试的新版本。

基本上这是我的代码:

pipeline{
    agent{
       label 'NODE' // Put node
    }
    options {
        timeout(time: 30, unit: 'MINUTES')
    }
    stages{
        stage('Checkout') { 
            steps {
                checkout scm: [$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'LocalBranch', localBranch: '**']], submoduleCfg: [], userRemoteConfigs: [[url: 'https://github.com/xxx']]]
            }
        }
        stage('Delete Report TC1'){ 
            steps{
              bat 'del /S /Q "P:\TA\Mobile\ANDROID\PAGAMENTOS\001. Recargas Telefonicas\Report"' 
            }
        }
        stage('MOB-AND-PAGAMENTO-001'){ // Name of the test
            steps {
                uftScenarioLoad archiveTestResultsMode: 'ONLY_ARCHIVE_FAILED_TESTS_REPORT', fsUftRunMode: 'Normal', testPaths:  "${env.WORKSPACE}" + '''\Mobile\ANDROID\PAGAMENTOS\001. Recargas Telefonicas'''   
            }
        }
     }
}

我正在尝试的解决方法是调用构建,而不是 uftcenario。像这样:

pipeline{
    agent{
       label 'NODE' 
    } 
    options {
        timeout(time: 30, unit: 'MINUTES') 
    }
    stages{
        stage('Checkout') {
            steps {
                checkout scm: [$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'LocalBranch', localBranch: '**']], submoduleCfg: [], userRemoteConfigs: [[url: 'https://github.com/xxx']]]
            }
        }
        stage('MOB-DCS-AND-CHEQUES-001'){ // The stage name
            steps {
                build 'MOB-DCS-AND-CHEQUES-001'   
            }
        }
        stage('MOB-DCS-AND-CHEQUES-002'){ // The stage name
            steps {
                build 'MOB-DCS-AND-CHEQUES-002'  
            }
        }
        stage('MOB-DCS-AND-CHEQUES-003'){ // The stage name
            steps {
                build 'MOB-DCS-AND-CHEQUES-003'  
            }
        }

    }
}

不知道这是否是最好的方法。

谢谢 最好的问候

好的,所以你不能或者我没有找到一种方法来设置脚本上的配置以脚本本身的配置为准。

所以我重新编写代码以调用 build/job 而不是从 git 调用脚本。这使得测试 运行 使用 build/job 配置。

构建设置为从 git 获取脚本,但允许开发团队进行配置并选择设备、应用程序、版本应用程序等...

首先管道在第一次构建开始时停止。并说詹金斯正在等待执行者可用。

所以基本上,我发现的是,如果您创建管道并且脚本调用 builds/jobs,您将需要增加节点中的执行程序数量。

执行此操作转到管理 Jenkins --> 管理节点 --> select 在节点上使用 dropbox 配置 --> 到这里说“# of executors”并增加数量。

在我的管道中,我需要 2 个,一个用于管道本身,另一个用于构建。如果你要 运行 事情并行,你需要根据你的需要增加。

最后我简化了我的代码。

pipeline{
    agent{
        label 'xxx' //Insert node here
    }
    options {
        timeout(time: 30, unit: 'MINUTES') // set timeout if you need
    }
    stages{
        stage('xxx'){ // Give stage name
            steps {
                build 'xxxx'   // Name of the build/job here
            }
        }
    }
}

希望有一天它能帮助某人。 :)