docker - Docker中的Nightwatch- Selenium 服务器找不到chromedriver

标签 docker selenium-chromedriver nightwatch.js selenium-server

我试图在Docker容器中启动Nightwatch。

我从selenium-server收到错误,该错误基本上指出无法找到chromedriver。我可以手动验证正在寻找的文件(我认为)是否存在。

我创建了一个样本存储库来演示该问题:https://github.com/hvolschenk/nightwatch-docker

最佳答案

得到了这个工作,不得不改变我的Dockerfile

FROM openjdk:latest

RUN wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | apt-key add -
RUN echo 'deb http://dl.google.com/linux/chrome/deb/ stable main' >> /etc/apt/sources.list

RUN apt-get update
RUN apt-get install -y curl
RUN curl -sL https://deb.nodesource.com/setup_8.x | bash
RUN apt-get install -y nodejs

RUN apt-get install --no-install-recommends -y google-chrome-stable

WORKDIR /home/node/app

CMD ["npm", "test"]
EXPOSE 5555

因此,与从openjdk图像中添加node相反,我将node添加到openjdk图像中。

仍然不确定为什么以前的迭代不起作用,无论如何,都必须继续前进。

编辑:

我还找到了一种使用以下Dockerfile从node Docker镜像运行此方法的方法:
FROM node:carbon

RUN echo "deb http://http.debian.net/debian jessie-backports main" > /etc/apt/sources.list.d/jessie-backports.list
RUN apt-get update && apt-get install -t jessie-backports -y openjdk-8-jre

RUN wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | apt-key add -
RUN echo 'deb http://dl.google.com/linux/chrome/deb/ stable main' >> /etc/apt/sources.list
RUN apt-get update && apt-get install --no-install-recommends -y google-chrome-stable

ENV HOME /home/node/app
WORKDIR /home/node/app
VOLUME ["/home/node/app"]

RUN chown -Rv node:node /home/node/app
USER node

CMD ["npm", "test"]
EXPOSE 5555

关于docker - Docker中的Nightwatch- Selenium 服务器找不到chromedriver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49859869/

相关文章:

docker-compose 容器间通信

docker - Docker swarm容器副本正在运行,但无法在浏览器中或通过curl命中

docker - docker 登录未知速记标志: 'e'

java - 如何使用 Selenium 默认启用地理位置?

python - 没有这样的元素 : Unable to locate element using chromedriver and Selenium in production environment

java - 加载共享库 : libX11. so.6 时出错:无法打开共享对象文件:linux docker 容器中没有这样的文件或目录

javascript - 从匿名函数中中断 while 循环

docker - 在 cmake 中运行 docker build

javascript - 如何在 nightwatchjs 中使用执行