Symfony(4.4) Panther 测试用例在 GitlabCI 上不起作用

问题描述

我在我的 symfony 项目中使用 Panther Tests Case 和 PHPUnit 进行功能测试。 当我在我的电脑 (PHP bin/PHPunit) 上运行我的测试时,一切正常。当我连接到服务器并运行测试时,一切正常。Chrome 驱动程序已正确安装在服务器上,我可以使用命令行运行它。 但是,当我推动 gitlab 并且我的 CI 启动时,我总是遇到相同的错误: 这是gitlab界面的截图

enter image description here

我的脚本从使用 SSH 连接到我的服务器开始。所以行为应该与我使用 Putty 和 SSH 连接到我的服务器时相同... 我在 .gitlab.ci 脚本上使用的命令是“PHP bin/PHPunit”。和我在本地用的一样。

我发现了一些关于这个问题的帖子,但都在 Selenium 上,而没有针对 panther ......请帮忙! :)

解决方法

不知道问题是否仍然存在,但我从昨天开始就一直在为同样的问题苦苦挣扎,我最终通过阅读文档来解决它;-) : https://github.com/symfony/panther#chrome-specific-environment-variables

由于 Chrome 的沙箱化,需要指定特定的 ENV 变量以确保在容器中正确运行。

我在测试步骤中使用此更新了我的 .gitlacb-ci.yml:

before_script:
  - ... {HERE : ensure your chromedriver is existing in the container}
  - export PANTHER_NO_SANDBOX=1 

所以...学到/记住的教训:5分钟的文档阅读值得2天的谷歌搜索...;-)