E/runner - 无法启动 WebDriver 会话
E/runner - Unable to start a WebDriver session
我已经为 运行 存储在 public 存储库中的一些量角器测试创建了一个 docker-compose.yml 文件。 yml文件中创建了几个容器:
- shared_repo:克隆测试的地方。
- selenium-hub:带有 selenium 图像的容器。
- chrome:带有 selenium/node-chrome-debug.
的容器
- 量角器:带有 node:12.14 图像的容器
Docker-撰写文件是:
version: '2.4'
services:
shared_repo:
image: library/postgres:13.2-alpine
container_name: shared_repo
command: bash -c "apk add git && sleep 5s && git clone -b main https://github.com/AlfredoBazo/opwDocker.git && mv /opwDocker /shared_repository && echo "TEST" && sleep 100s"
ports:
- 1603:1603
volumes:
- shared_repository:/e2e-shared
selenium-hub:
image: selenium/hub
container_name: selenium-hub
ports:
- "4444:4444"
chrome:
image: selenium/node-chrome-debug
container_name: chrome
volumes:
- /dev/shm:/dev/shm
ports:
- "5900:5900"
depends_on:
- selenium-hub
environment:
- HUB_HOST=selenium-hub
- HUB_PORT=4444
- CHROME_DRIVER_VERSION=chromedriver_81.0.4044.69
protractor:
image: node:12.14
container_name: protractor
working_dir: /e2e/
volumes:
- .:/e2e
ports:
- "9229:9229"
command: bash -c "npm install && npm i protractor && ./node_modules/protractor/bin/webdriver-manager update && ls -haltr && node node_modules/protractor/bin/protractor e2e/protractor.conf.js --cucumberOpts.tags=@docker"
depends_on:
- selenium-hub
- chrome
volumes:
shared_repository:
执行docker-compose up
时出现错误提示:
[09:09:18] I/launcher - Running 1 instances of WebDriver protractor
| [09:09:18] I/direct - Using ChromeDriver directly... protractor
| [09:09:18] E/runner - Unable to start a WebDriver session.
protractor | [09:09:18] E/launcher - Error: Error: Server
terminated early with status 127 protractor | at
/e2e/node_modules/selenium-webdriver/remote/index.js:252:52 protractor
| at processTicksAndRejections
(internal/process/task_queues.js:94:5) protractor | [09:09:18]
E/launcher - Process exited with error code 100
这个项目有一些误解点,但我认为主要问题是你使用的是本地Webdriver,而不是你提出的Selenium Hub实例。我认为我们可以将 docker-compose.yaml 文件简化为:
version: '2.4'
services:
selenium-hub:
image: selenium/hub
container_name: selenium-hub
ports:
- "4444:4444"
chrome:
image: selenium/node-chrome-debug
container_name: chrome
volumes:
- /dev/shm:/dev/shm
ports:
- "5900:5900"
depends_on:
- selenium-hub
environment:
- HUB_HOST=selenium-hub
- HUB_PORT=4444
- CHROME_DRIVER_VERSION=chromedriver_81.0.4044.69
protractor:
image: node:12.14
container_name: protractor
ports:
- "9229:9229"
command: bash -c "apt update && apt install -y git && git clone -b main https://github.com/AlfredoBazo/opwDocker.git && cd opwDocker && npm install && node node_modules/protractor/bin/protractor e2e-tests/protractor.conf.js --cucumberOpts.tags=@docker"
depends_on:
- selenium-hub
- chrome
并且您需要修改 protractor.conf.js 添加行:
seleniumAddress: 'http://selenium-hub:4444/wd/hub'
并删除下一个:
directConnect: true
无论如何,我会在 this Pull Request
中包含一些其他必要的更改,以实现 运行
我已经为 运行 存储在 public 存储库中的一些量角器测试创建了一个 docker-compose.yml 文件。 yml文件中创建了几个容器:
- shared_repo:克隆测试的地方。
- selenium-hub:带有 selenium 图像的容器。
- chrome:带有 selenium/node-chrome-debug. 的容器
- 量角器:带有 node:12.14 图像的容器
Docker-撰写文件是:
version: '2.4'
services:
shared_repo:
image: library/postgres:13.2-alpine
container_name: shared_repo
command: bash -c "apk add git && sleep 5s && git clone -b main https://github.com/AlfredoBazo/opwDocker.git && mv /opwDocker /shared_repository && echo "TEST" && sleep 100s"
ports:
- 1603:1603
volumes:
- shared_repository:/e2e-shared
selenium-hub:
image: selenium/hub
container_name: selenium-hub
ports:
- "4444:4444"
chrome:
image: selenium/node-chrome-debug
container_name: chrome
volumes:
- /dev/shm:/dev/shm
ports:
- "5900:5900"
depends_on:
- selenium-hub
environment:
- HUB_HOST=selenium-hub
- HUB_PORT=4444
- CHROME_DRIVER_VERSION=chromedriver_81.0.4044.69
protractor:
image: node:12.14
container_name: protractor
working_dir: /e2e/
volumes:
- .:/e2e
ports:
- "9229:9229"
command: bash -c "npm install && npm i protractor && ./node_modules/protractor/bin/webdriver-manager update && ls -haltr && node node_modules/protractor/bin/protractor e2e/protractor.conf.js --cucumberOpts.tags=@docker"
depends_on:
- selenium-hub
- chrome
volumes:
shared_repository:
执行docker-compose up
时出现错误提示:
[09:09:18] I/launcher - Running 1 instances of WebDriver protractor
| [09:09:18] I/direct - Using ChromeDriver directly... protractor
| [09:09:18] E/runner - Unable to start a WebDriver session. protractor | [09:09:18] E/launcher - Error: Error: Server terminated early with status 127 protractor | at /e2e/node_modules/selenium-webdriver/remote/index.js:252:52 protractor | at processTicksAndRejections (internal/process/task_queues.js:94:5) protractor | [09:09:18] E/launcher - Process exited with error code 100
这个项目有一些误解点,但我认为主要问题是你使用的是本地Webdriver,而不是你提出的Selenium Hub实例。我认为我们可以将 docker-compose.yaml 文件简化为:
version: '2.4'
services:
selenium-hub:
image: selenium/hub
container_name: selenium-hub
ports:
- "4444:4444"
chrome:
image: selenium/node-chrome-debug
container_name: chrome
volumes:
- /dev/shm:/dev/shm
ports:
- "5900:5900"
depends_on:
- selenium-hub
environment:
- HUB_HOST=selenium-hub
- HUB_PORT=4444
- CHROME_DRIVER_VERSION=chromedriver_81.0.4044.69
protractor:
image: node:12.14
container_name: protractor
ports:
- "9229:9229"
command: bash -c "apt update && apt install -y git && git clone -b main https://github.com/AlfredoBazo/opwDocker.git && cd opwDocker && npm install && node node_modules/protractor/bin/protractor e2e-tests/protractor.conf.js --cucumberOpts.tags=@docker"
depends_on:
- selenium-hub
- chrome
并且您需要修改 protractor.conf.js 添加行:
seleniumAddress: 'http://selenium-hub:4444/wd/hub'
并删除下一个:
directConnect: true
无论如何,我会在 this Pull Request
中包含一些其他必要的更改,以实现 运行