在Docker容器中运行Xvfb和黄瓜
我想在docker集装箱里用电子应用程序进行一些黄瓜testing。 我在一个点,我可以手动运行一个容器,运行xvfb
,然后cucumber
,一切正常。 我面临的困难是达到一个点,我可以运行docker-compose up -d
并自动发生所有这一切
看文档在一个容器中运行多个进程它看起来好像有两个选项,bash脚本或supervisord
,我试图bash脚本路由,因为它是一个较轻的选项(图像的大小)比使用supervisord
。
Bash脚本
File: xvfb_run.sh #!/bin/bash Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 & File: start_cucumber.sh #!/bin/bash cucumber features/shared/av-play-event/av_play_event.feature:7 File: process_wrapper.sh #!/bin/bash echo "Start Xvfb" ./xvfb_run.sh -D status=$? if [ $status -ne 0 ]; then echo "Failed to start Xvfb Process: $status" exit $status fi echo "Start Cucumber" ./start_cucumber.sh -D status=$? if [ $status -ne 0 ]; then echo "Failed to start cucumber process: $status" exit $status fi
泊坞窗,撰写
version: "3.0" services: hendricks-js-offline: build: context: . ports: - "9515:9515" tty: true
Dockerfile
ADD xvfb_run.sh /xvfb_run.sh ADD process_wrapper.sh /process_wrapper.sh ADD start_cucumber.sh /start_cucumber.sh CMD ["/bin/bash", "-c", "-l", "./process_wrapper.sh"]
当我运行docker-compose up -d
并检查我得到的日志
hendricks-js-offline_1 | Start Xvfb hendricks-js-offline_1 | Start Cucumber hendricks-js-offline_1 | Using the default profile... hendricks-js-offline_1 | @test hendricks-js-offline_1 | Feature: Basic Test hendricks-js-offline_1 | hendricks-js-offline_1 | Background: # features/shared/test/test.feature:4 hendricks-js-offline_1 | Failed to open TCP connection to '':80 (getaddrinfo: Name or service not known) (SocketError) hendricks-js-offline_1 | ./features/support/env.rb:51:in `Before'
任何人都可以看到我去哪里错了或能够回答为什么这个手动工作,但不是这个设置
任何帮助赞赏
谢谢