如何使用Robot Framework docker映像在Jenkins文件中启动Robot Framework测试?

如何使用Robot Framework docker映像在Jenkins文件中启动Robot Framework测试?,docker,robotframework,Docker,Robotframework,在Jenkins文件中,我想使用现有的Robot framework docker映像。对于浏览器测试来说,非常完整的Docker映像是:ppodgorsek/robot framework 使用的一个例子是: docker run \ -v <local path to the reports' folder>:/opt/robotframework/reports:Z \ -v <local path to the test suites' folder&g

在Jenkins文件中,我想使用现有的Robot framework docker映像。对于浏览器测试来说,非常完整的Docker映像是:ppodgorsek/robot framework

使用的一个例子是:

docker run \
    -v <local path to the reports' folder>:/opt/robotframework/reports:Z \
    -v <local path to the test suites' folder>:/opt/robotframework/tests:Z \
    ppodgorsek/robot-framework:<version>

如何启动机器人框架测试

像这样的?我不知道机器人框架是如何工作的:

pipeline {
    agent {
        docker {
            image 'ppodgorsek/robot-framework'
        }
    }
    stages {
        stage('Checkout') {
            steps {
                git branch: "master", credentialsId: "jenkins-key", url:'ssh://git@github.org/mysupercode/'

            }
        }
        stage('Test') {
            steps{
                sh 'do_super_tests.sh'
            }
        }
    }
    post {
        always {
            archive (includes: 'mytestfolder/mytest.html')
        }
    }
}
解决方案1:多亏@parasit,我找到了“ppodgorsek/robot框架”

您可以使用以下管道代码从Jenkins文件启动Robot框架测试:

pipeline {
    agent any
    stages {
        stage('Checkout') {
            steps {
                git branch: "master", url:'https://github.com/johan974/robot-framework-demo1.git'
            }
        }
        stage('Test') {
            steps{
                sh 'docker run -v ${PWD}/reports:/opt/robotframework/reports:Z -v ${PWD}/Tests:/opt/robotframework/tests:Z \
                            -e BROWSER=chrome ppodgorsek/robot-framework:latest'
            }
        }
    }
    post {
        always {
            archive (includes: 'reports/*.html')
        }
    }
}
如果您有包括post在内的这些步骤,那么您可以在著名的log.html en report.html文件中找到结果,如下所示:

如果显示RF结果时遇到问题,可以在Jenkins>manage Jenkins>script控制台中执行以下脚本:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","sandbox allow-scripts; default-src 'none'; img-src 'self' data: ; style-src 'self' 'unsafe-inline' data: ; script-src 'self' 'unsafe-inline' 'unsafe-eval' ;")
更新2:使用更小的机器人框架图像,我可以开始运行机器人框架。它抱怨没有安装chromedriver。该脚本如下所示。当您不必使用浏览器进行测试时,这就足够了

pipeline {
    agent {
        docker {
            image 'manycoding/robotframework'
        }
    }
    stages {
        stage('Checkout') {
            steps {
                git branch: "master", url:'https://github.com/johan974/robot-framework-demo1.git'
            }
        }
        stage('Test') {
            steps{
                sh 'chmod a+x ./run-tests.sh && ./run-tests.sh'
            }
        }
    }
    post {
        always {
            archive (includes: 'reports/*.html')
        }
    }
}

代表下层选民:你的问题似乎过于宽泛,似乎无法简单回答。如果你有一个你尝试过的例子,也许有人能帮你纠正它?好的,谢谢,请记住!把问题具体化!答案实际上包括启动机器人框架测试的1个动作。