【问题标题】:How can I start a Robot Framework test in a Jenkinsfile using a robot framework docker image? [closed]如何使用机器人框架 docker 映像在 Jenkinsfile 中启动机器人框架测试? [关闭]
【发布时间】:2018-10-08 01:51:16
【问题描述】:

在 Jenkinsfile 中,我想使用现有的机器人框架 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>

如何启动 Robot Framework 测试?

【问题讨论】:

  • 代表反对者:您的问题似乎过于广泛,似乎无法简单回答。如果你有一个你尝试过的例子,也许有人可以帮助你纠正它?
  • 好的,谢谢,记住了!
  • 具体问题!答案实际上包括启动 Robot Framework 测试的 1 个操作。

标签: docker robotframework


【解决方案1】:

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

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')
        }
    }
}

【讨论】:

    【解决方案2】:

    Solution-1:感谢@parasit,我找到了“ppodgorsek/robot-framework”。

    您可以使用以下管道代码从 Jenkinsfile 启动机器人框架测试:

    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和report.html文件中找到结果,如下所示:

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

    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' ;")
    

    UPDATE-2:使用小得多的 Robot Framework 映像,我可以启动 Robot Frameworkrunning。它抱怨未安装 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')
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2019-02-21
      • 2018-09-16
      • 2018-10-25
      • 1970-01-01
      • 2021-04-13
      • 2018-04-25
      • 2018-01-29
      • 2019-02-16
      • 2011-09-01
      相关资源
      最近更新 更多