如何创建运行Selenium脚本的Bluemix自动化测试节点?

时间:2017-04-25 23:51:22

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

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

我已经在https://hub.jazz.net/docs/deploy/查看了Bluemix Build and Deply教程,但它没有讨论如何构建一个带有调用Selenium脚本作业的测试节点。 我也没有在较新的工具链文档中找到此类信息。

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

2 个答案:

答案 0 :(得分:2)

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

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

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

Docker镜像包含:

  • 基本图片selenium / standalone-chrome提供Selenium服务器和Chrome浏览器
  • 必需的工具:Ant,Git,Java
  • 来自我们的测试存储库的源代码和构建的二进制文件。

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

(在管道中运行泊坞窗图像)

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

利弊

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

答案 1 :(得分:1)

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

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

相关问题