当前位置: 首页 > 面试题库 >

实施jenkins docker image + chrome + ruby​​未知错误时出现问题:Chrome无法启动:崩溃(Selenium ::WebDriver :: Error :: UnknownError)

隆璞
2023-03-14
问题内容

我正在尝试使用官方的詹金斯码头工人镜像来设置詹金斯。

Docker文件

FROM jenkins/jenkins:lts

USER root
RUN apt-get update && apt install -y ruby-full
RUN apt-get install -y curl
RUN apt -y autoremove
RUN curl -sL https://deb.nodesource.com/setup_6.x | bash -
RUN apt-get install -y nodejs
RUN apt-get install -y build-essential
RUN apt install -y wget
RUN gem install --no-ri --no-rdoc --format-executable rake
RUN gem install selenium-webdriver
RUN gem install bundler
RUN npm install -g node-mongo-seeds

#Permissions granted to jenkins user to do a gem install
RUN chown -R jenkins:jenkins /var/lib/gems
RUN apt-get install -y patch ruby-dev zlib1g-dev liblzma-dev
RUN chown -R jenkins:jenkins /usr/local/bin

# We need wget to set up the PPA and xvfb to have a virtual screen and unzip to install the Chromedriver
RUN apt-get install -y wget xvfb unzip

# Set up the Chrome PPA
RUN wget -q -O - https://dl-ssl.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.d/google.list

# Update the package list and install chrome
RUN apt-get update -y
RUN apt-get install -y google-chrome-stable

# Set up Chromedriver Environment variables
ENV CHROMEDRIVER_VERSION 2.35
ENV CHROMEDRIVER_DIR /chromedriver
RUN mkdir $CHROMEDRIVER_DIR

# Download and install Chromedriver
RUN wget -q --continue -P $CHROMEDRIVER_DIR "http://chromedriver.storage.googleapis.com/$CHROMEDRIVER_VERSION/chromedriver_linux64.zip"
RUN unzip $CHROMEDRIVER_DIR/chromedriver* -d $CHROMEDRIVER_DIR

# Put Chromedriver into the PATH
ENV PATH $CHROMEDRIVER_DIR:$PATH

USER jenkins

在运行作业时,浏览器将无法打开并进入本地主机。我也尝试点击“ google.com”

google-chrome --headless --no-sandbox 'https://www.google.com'

仍然没有成功

    Fontconfig warning: "/etc/fonts/fonts.conf", line 100: unknown element "blank"
[0531/130727.949511:ERROR:browser_process_sub_thread.cc(217)] Waited 17 ms for network service

我不明白为什么詹金斯用户无法打开浏览器。

  • 谷歌浏览器74.0.3729.169
  • ChromeDriver 2.35.528139(47ead77cb35ad2a9a83248b292151462a66cd881)
  • Ruby2.3.3p222(2016-11-21)[x86_64-linux-gnu]
  • jenkins.164.3

问题答案:

此错误消息…

unknown error: Chrome failed to start: crashed (Selenium::WebDriver::Error::UnknownError)

…暗示 ChromeDriver 无法启动/产生新的 WebBrowser,Chrome浏览器 会话。

您的主要问题是所使用的二进制版本之间的 不兼容性 ,如下所示:

  • 您正在使用 chromedriver = 2.35
  • chromedriver = 2.35 发行说明明确提到以下内容:

支持 Chrome v62-64

  • 您正在使用 chrome = 74.0
  • ChromeDriver v74.0的 发行说明中明确提到以下内容:

支持 Chrome v74

因此, ChromeDriver v2.35Chrome浏览器v74.0 之间存在明显的不匹配 __

  • 升级 ChromeDriver 当前 ChromeDriver v74.0 水平。
  • Chrome 版本保持在 Chrome v74 级别。(根据ChromeDriver v2.46发行说明)
  • 清理 你的 项目工作 ,通过你的 IDE重建 仅需要依赖你的项目。
  • 如果您的基本 Web客户端 版本太旧,则将其卸载并安装最新的GA和 Web客户端的 发行版本。
  • 执行您的@Test


 类似资料:
  • 我有这个代码和一个执行中的问题(代码下的描述) 我使用: Ubuntu 14.04.5 LTS 当我创建RemoteWebDriver时,我得到以下错误:异常:未知错误:Chrome无法启动:崩溃 启动selenium服务器的命令 此方案的哪些部分可能是所述错误的原因?

  • 我在centos上运行无头chrome,无头chrome版本2.38和google-chrome-稳定版本67.0 chrome选项: 最后一行给出以下给定错误消息: 我已经验证了chrome和chromedriver版本,它是兼容的。无法理解为什么它没有在centos上运行?同样的代码在mac上运行良好 聚甲醛

  • 问题内容: 我正在尝试使用ChromeWebDriver在Chrome上测试我的应用程序,但是每次尝试都会出现以下异常: 在chromedriver.log中,我看到了 我正在使用: 镀铬36 ChromeWebDriver 2.10 Windows 7的 在Process Explorer中,我可以看到chromedriver.exe进程正在运行,但是没有打开任何窗口,几秒钟后,我得到了上面的异

  • 我试图将与一起使用,我为chromedriver到/usr/local/bin的路径创建了一个符号链接,但当我运行 我的错误是 它还会生成一个核心。******,一个包含五个随机数的核心文件点,大小超过200MB。 版本: 有谁能帮我找出问题出在哪里吗?

  • 问题内容: 由于这个问题,我已经呆了好几天,而且似乎找不到解决方案。无论我做什么,我都无法让chromedriver在我的机器上工作。我已经尝试了几乎所有我可以想象的设置。列举一些: Chrome 64位,Python 64位 Chrome 32位,Python 32位 Chrome 64位,Python 32位 Chrome 32位,Python 64位 我还尝试了不同版本的Chrome及其相应

  • 我试图通过Selenium打开Chrome webdriver,但在初始化时出错。我收到的错误是: 我一直在寻找不同的解决方案。我尝试手动指定Chrome.exe的路径,我添加了一些片段,如和以及使用单独的user-data-dir。当前代码可以在下面看到 Chrome的版本是71.0。3578.80,Chromedriver为2.45,因此应该兼容。我曾尝试使用较旧的版本,但只得到部分错误:De