运行 docker 中的 webdriverio(编码)

Running webdriverio in docker (codeship)

我目前正在尝试为我的下一个 React project 设置一个基本的回购协议。 为此,我想通过 webdriverio + cucumber 进行端到端测试。

虽然 运行ning wdio 在本地工作正常,但我无法在我的 docker 容器中将其发送到 运行。即使我添加了 wdio-docker-service 它告诉我:

(service: reap) (step: feature_tests) A service failed in the
'onPrepare' hook (service: reap) (step: feature_tests) Error: not
found: java

当我在 Dockerfile 中手动安装 java 时,它会抱怨:

(service: reap) (step: feature_tests) A service failed in the
'onPrepare' hook (service: reap) (step: feature_tests) Error: Selenium
server did not start. (service: reap) (step: feature_tests) Another
Selenium process may already be running or your java version may be
out of date. (service: reap) (step: feature_tests) Be sure to check
the official Selenium release notes for minimum required java version:
https://raw.githubusercontent.com/SeleniumHQ/selenium/master/java/CHANGELOG

第一个错误似乎来自您正在加载的 'selenium-standalone' 服务,该服务试图通过 Java 启动 Selenium。由于您使用的是 'node' docker 图像,因此未安装 Java。

要使用 'wdio-docker-service',您需要将 your services line 中的 'selenium-standalone' 替换为 'docker'。

将有两个 docker 图像 运行ning,一个是您测试 WebdriverIO 运行 在(节点)上,另一个是 运行ning selenium独立(由 wdio-docker-service 启动)。

或者,您可以在本地 运行 您的 WebdriverIO 命令,并且只对 selenium 独立实例使用 Docker。这可能更容易,但不太便携。