0

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

我在https://hub.jazz.net/docs/deploy/上查看了 Bluemix Build and Deply 教程,但它没有介绍如何使用调用 Selenium 脚本的作业来构建测试节点。我也没有在较新的 Toolchain 文档中找到此类信息。

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

4

2 回答 2

2

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

我们从管道运行 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 容器支持的初始化时间
于 2017-05-01T19:13:57.777 回答
1

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

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

于 2017-04-28T20:01:09.997 回答