【问题标题】:Issues while implementing jenkins docker image+chrome+ruby unknown error: Chrome failed to start: crashed (Selenium::WebDriver::Error::UnknownError)实现 jenkins docker image+chrome+ruby 未知错误时的问题:Chrome 无法启动:崩溃(Selenium::WebDriver::Error::UnknownError)
【发布时间】:2019-10-17 03:23:41
【问题描述】:

我正在尝试使用官方 jenkins docker 映像设置 jenkins。

Dockerfile

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

在运行作业时,浏览器不会打开并点击 localhost。 我也尝试点击“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

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

  • 谷歌浏览器 74.0.3729.169
  • ChromeDriver 2.35.528139 (47ead77cb35ad2a9a83248b292151462a66cd881)
  • ruby 2.3.3p222 (2016-11-21) [x86_64-linux-gnu]
  • 詹金斯 2.164.3

【问题讨论】:

    标签: selenium google-chrome docker jenkins selenium-chromedriver


    【解决方案1】:

    此错误消息...

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

    ...暗示 ChromeDriver 无法启动/生成新的 WebBrowserChrome 浏览器 会话。


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

    • 您正在使用 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 级别。 (as per ChromeDriver v2.46 release notes)
    • 清理你的项目工作区通过你的IDE重建你的项目只需要依赖。
    • 如果您的基本 Web 客户端 版本太旧,请卸载它并安装最新的 GA 和发布版本的 Web 客户端
    • 执行您的@Test

    【讨论】:

    • 感谢您的快速回复。这个解决方案会很快更新吗
    • 面对这个新问题 options.add_argument('--headless') d = Selenium::WebDriver.for :chrome, options: options Selenium::WebDriver::Error::UnknownError: unknown error: Chrome 无法启动:崩溃 (未知错误:DevToolsActivePort 文件不存在)(从 chrome 位置 /usr/bin/google-chrome 启动的进程不再运行,因此 ChromeDriver 假设 Chrome 已崩溃。)
    • @TheRookie 您的主要问题 ...Chrome 无法启动:崩溃 (Selenium::WebDriver::Error::UnknownError)... 似乎有 现在解决了。 ...Chrome 无法启动:崩溃(未知错误:DevToolsActivePort 文件不存在)(从 chrome 位置 /usr/bin/google-chrome 启动的进程不再运行,因此 ChromeDriver 假设 Chrome 已崩溃了。)... 看起来完全是一个新问题。您能否针对您的新要求提出一个新问题?
    【解决方案2】:

    因此,根据@DebanjanB 的评论,它解决了驱动程序问题,但根据 chrome 崩溃的新问题,我通过添加解决了它

    options = Selenium::WebDriver::Chrome::Options.new
    options.add_argument('--headless')
    options.add_argument('--disable-gpu')
    options.add_argument('--no-sandbox')
    d = Selenium::WebDriver.for :chrome, options: options
    

    【讨论】:

      猜你喜欢
      • 2021-05-03
      • 2022-12-17
      • 2023-01-19
      • 2014-10-08
      • 2016-10-19
      • 2020-08-19
      • 2018-02-07
      • 1970-01-01
      • 2023-01-07
      相关资源
      最近更新 更多