如何使用 codeception 和 PhantomJS 在 Jenkins 中一次 运行 2 个命令?

How to run 2 commands at once in Jenkins with codeception and PhantomJS?

我想为 运行ning 创建一个 jenkins 作业,我在 phantomjs 上使用 codeception 进行验收测试。

所以首先我需要启动 phantomjs 无头服务器

phantomjs --webdriver=4444

现在 运行 时,我会 运行 我的测试

php codecept.phar run acceptance

但是当我定义我的詹金斯工作时, 我为这些命令添加了一个 shell 脚本

但是当我 运行 第一个命令时:"phantomjs --webdriver=4444" 所以 bash 在 运行 执行命令时卡住...所以我不能 运行 下一个命令。

运行后台的phantomjs服务器,否则不会结束(因此你的php命令将永远无法到达):

phantomjs --webdriver=4444 &
php codecept.phar run acceptance

之后要结束 phantomjs,你可以使用 $!,一个特殊的变量,它包含后台最后一个进程 运行 的 pid。

kill $!