我想在Bluemix持续交付工具链管道中插入一个自动化测试阶段。测试阶段应该使用Selenium Webdriver& amp;脚本。制作这样一个舞台的好方法是什么?
我已经在https://hub.jazz.net/docs/deploy/查看了Bluemix Build and Deply教程,但它没有讨论如何构建一个带有调用Selenium脚本作业的测试节点。 我也没有在较新的工具链文档中找到此类信息。
我访问了Sauce-labs网站,看看这是否是在Bluemix中构建自动化测试节点的最佳方式,看起来这可能是一种方法,但我试图看看我是否可以在没有BlueMix的情况下构建舞台使用单独的服务。
答案 0 :(得分:2)
我们的测试框架团队最近在这个主题上花了一些时间。
我们从管道运行UI测试的问题是我们没有适用于所有环境的任何Selenium解决方案。 Saucelabs适用于公共bluemix环境,但无法访问内部(限制使用Sauce Connect的限制)。我们设置了一个selenium网格,但V1管道无法访问它。
我们的POC使用Jenkins构建Docker镜像并将其上传到Bluemix镜像库。
Docker镜像包含:
构建映像是为了利用一个相对基本的脚本(用于驱动testng的ant)从管道运行我们的自定义测试解决方案。
(在管道中运行泊坞窗图像)
cf ic run --name $ {CONTAINER_NAME} _ $ {BUILD_NUMBER} $ {IMAGE_NAME} (您想要发送到测试脚本的任何其他内容)
利弊
答案 1 :(得分:1)
我与其中一位管道开发人员讨论了这个问题,他们建议从管道中运行Selenium的无头自动化测试。每个管道作业都会为您提供一个新的Ubuntu容器,因此本指南可以帮助您入门:https://fabianlee.org/2017/01/17/selenium-running-headless-automated-tests-on-ubuntu/
您应该能够在测试阶段直接运行测试。