如何在Teamcity CI中运行testcafe测试?

时间:2020-06-19 02:20:02

标签: reactjs automation continuous-integration teamcity testcafe

我想在teacity CI / CD服务器中运行Testcafe E2E测试。有人可以帮我了解我们如何在Teamcity中使用testcafe / testcafe docker映像来运行测试吗?

1 个答案:

答案 0 :(得分:3)

我建议您参考以下主题,在其中可以找到有关如何使其工作的信息:

此处是描述如何integrate TestCafe with TeamCity的文章。 另请参阅以下文章:Use TestCafe Docker Image

如果您需要结合使用这些工具的帮助,请随时与我们联系。

已更新:

TeamCity与Docker Wrapper扩展一起用于命令行构建步骤。它提供了一种在Docker容器中运行自定义脚本的简便方法。

但是,您需要考虑以下细节:

  • TestCafe Docker映像带有一个特殊的script,它通过启动Xvfb和DBus之类的服务来准备容器环境。它位于/opt/testcafe/bin/testcafe-docker.sh中。 TeamCity包装器将覆盖Docker映像的入口点,并阻止执行此脚本。这意味着应该使用/opt/testcafe/bin/testcafe-docker.sh而不是testcafe来对Docker和TeamCity进行测试:
/opt/testcafe/docker/testcafe-docker.sh chromium test/e2e/**/* -r teamcity
  • 在Docker容器中进行测试时,最好使用headless mode,因为此模式是专门为此类环境设计的。
  • 如果由于某些原因在Chrome中不使用无头模式,则会遇到以下错误:错误:无法建立一个或多个指定的浏览器连接。这可能是由网络问题或远程设备故障引起的。可能是由以下Chrome浏览器的错误引起的:TMPDIR too long。为了解决此问题,您需要在启动TestCafe之前手动设置一个环境变量:
export TMPDIR=/tmp

配置的构建步骤可能如下:

此配置意味着您正在使用TestCafe,其中TeamCity TestCafe reporter作为本地软件包安装。确保带有TestCafe和插件的node_modules目录是测试项目根目录的子目录。 TeamCity Docker Wrapper将工作目录安装在容器内。