Php 如何使用docker compose运行自动codeception验收测试?
我正在尝试使用docker compose运行用codeception编写的测试。我已经写了docker-compose.yml。该文件如下所示: docker compose所在的文件夹中有tests(文件夹)、codecept.phar和codeception.yml。 我正在尝试运行以下命令:Php 如何使用docker compose运行自动codeception验收测试?,php,docker-compose,codeception,Php,Docker Compose,Codeception,我正在尝试使用docker compose运行用codeception编写的测试。我已经写了docker-compose.yml。该文件如下所示: docker compose所在的文件夹中有tests(文件夹)、codecept.phar和codeception.yml。 我正在尝试运行以下命令: docker编写运行--rm codecept运行验收 它试图执行验收测试,但我得到以下错误: “[ConnectionException]无法连接到的Webdriver。请确保Selenium服务
docker编写运行--rm codecept运行验收
它试图执行验收测试,但我得到以下错误:
“[ConnectionException]无法连接到的Webdriver。请确保Selenium服务器或PhantomJS正在运行。”
有什么想法吗
期望该命令开始执行codeception验收测试
docker-compose.yml如下所示:
version: '3'
services:
codecept:
image: codeception/codeception
depends_on:
- chrome
- web
volumes:
- .:/project
web:
image: php:7-apache
#depends_on:
# - db
volumes:
- .:/var/www/html
db:
image: percona:5.6
chrome:
image: selenium/standalone-chrome
运行命令以执行测试:
docker compose运行--rm codecept运行验收
我发现您的设置中存在两个问题
首先,您需要如下配置链接:
version: '3'
services:
codecept:
image: codeception/codeception
depends_on:
- chrome
- web
links:
- chrome
- web
volumes:
- .:/project
web:
image: php:7-apache
#depends_on:
# - db
volumes:
- .:/var/www/html
db:
image: percona:5.6
chrome:
image: selenium/standalone-chrome
然后,您需要将指向127.0.0.1:4444的配置更改为chrome:4444,因为docker compose将使用网络中链接服务的名称创建此dns条目
127.0.0.1将无法工作,因为它未在codeception容器中运行。我发现您的设置中存在两个问题 首先,您需要如下配置链接:
version: '3'
services:
codecept:
image: codeception/codeception
depends_on:
- chrome
- web
links:
- chrome
- web
volumes:
- .:/project
web:
image: php:7-apache
#depends_on:
# - db
volumes:
- .:/var/www/html
db:
image: percona:5.6
chrome:
image: selenium/standalone-chrome
然后,您需要将指向127.0.0.1:4444的配置更改为chrome:4444,因为docker compose将使用网络中链接服务的名称创建此dns条目
127.0.0.1将不起作用,因为它未在codeception容器中运行