【问题标题】:How do I create a Bluemix automated test node that runs a Selenium script?如何创建运行 Selenium 脚本的 Bluemix 自动化测试节点?
【发布时间】:2017-09-23 04:19:47
【问题描述】:

我想在 Bluemix 持续交付工具链管道中插入一个自动化测试阶段。测试阶段应该使用 Selenium Webdriver 和脚本运行 UI 测试。制作这样一个舞台的好方法是什么?

我在 https://hub.jazz.net/docs/deploy/ 上查看了 Bluemix 构建和部署教程,但它没有介绍如何构建一个测试节点并执行调用 Selenium 脚本的作业。 我在较新的 Toolchain 文档中也找不到此类信息。

我访问了 Sauce-labs 站点,看看这是否是在 Bluemix 中构建自动化测试节点的最佳方式,看起来这可能是一种方法,但我想看看我是否可以在没有的情况下直接在 BlueMix 中构建舞台使用单独的服务。

【问题讨论】:

    标签: selenium-webdriver automated-tests ibm-cloud devops-services


    【解决方案1】:

    我们的测试框架团队最近在这个主题上花了一些时间。

    我们从管道运行 UI 测试的问题是我们没有任何适用于所有环境的 Selenium 解决方案。 Saucelabs 适用于公共 bluemix 环境,但无法访问内部(围绕使用 Sauce Connect 的限制)。我们设置了一个 selenium 网格,但 V1 管道无法访问它。

    我们的 POC 使用 Jenkins 构建 Docker 映像并将其上传到 Bluemix 映像存储库。

    Docker 镜像包含:

    • 基础镜像 selenium/standalone-chrome 提供 Selenium 服务器和 Chrome 浏览器
    • 所需工具:Ant、Git、Java
    • 从我们的测试存储库中获取和构建二进制文件。

    构建该映像是为了利用相对基本的脚本(用于驱动 testng 的 ant)从管道运行我们的自定义测试解决方案。

    (在管道中运行 docker 镜像)

    cf ic run --name ${CONTAINER_NAME}_${BUILD_NUMBER} ${IMAGE_NAME} (您想发送到测试脚本的任何其他内容)

    优点和缺点

    • + 所有源都包含并内置在映像中 => 如果您依赖克隆测试框架、构建相关 jar 文件等,可以更快地执行测试。
    • + 每个图像都包含它自己的 Selenium 服务器 => 不受其他测试的干扰
    • - 管道中 IBM 容器支持的初始化时间

    【讨论】:

      【解决方案2】:

      我与一位管道开发人员讨论过这个问题,他们建议使用管道中的 Selenium 运行无头自动化测试。每个管道作业都会启动一个新的 Ubuntu 容器供您使用,因此本指南可能会帮助您入门:https://fabianlee.org/2017/01/17/selenium-running-headless-automated-tests-on-ubuntu/

      您应该能够直接从测试阶段运行测试。

      【讨论】:

        猜你喜欢
        • 2021-01-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-29
        • 2012-07-22
        相关资源
        最近更新 更多