#selenium-webdriver #rspec #selenium-chromedriver #gitlab-ci
#selenium-webdriver #rspec #selenium-chromedriver #gitlab-ci
Вопрос:
Контекст:
- Rails 6.0.3.4
- Ruby 2.7.1
В моем CI gitlab я запускаю системную спецификацию, используя RSpec и Selenium. Тест выполняется локально, но выдает следующую ошибку в gitlab CI
Failure/Error: driven_by :selenium, using: :chrome
Webdrivers::BrowserNotFound:
Failed to find Chrome binary.
# ./spec/rails_helper.rb:35:in `block (2 levels) in '
Может кто-нибудь любезно посоветовать мне, как исправить эту ошибку?
Вот мой .gitlab-ci.yml
image: "ruby:2.7.1-buster"
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
- vendor/bundle
- .bundle
- node_modules/
- .yarn
stages:
- build
- test
variables:
POSTGRES_HOST: xxxx
POSTGRES_USER: xxxx
POSTGRES_DB: xxxx
POSTGRES_PASSWORD: xxxx
before_script:
- gem install bundler
- bundle install -j $(nproc) --deployment
job_0_build:
stage: build
script:
- ruby -v
job_3_tests:
stage: test
cache:
paths:
- node_modules/
- .yarn
services:
- postgres:12.1
before_script:
- apt-get update -qq amp;amp; apt-get install -y -qq nodejs
- curl -o- -L https://yarnpkg.com/install.sh | bash
- export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH"
- yarn install --cache-folder .yarn
- yarn --version
- gem install bundler
- bundle install -j $(nproc) --deployment
script:
- bundle exec rake assets:precompile RAILS_ENV=test
- bundle exec rspec
Вот извлечение моих Gemfile.lock
(я думаю) соответствующих драгоценных камней, я могу предоставить другие, если вы сочтете полезным
selenium-webdriver (3.142.7)
childprocess (>= 0.5, < 4.0)
rubyzip (>= 1.2.2)
chromedriver-helper (2.1.1)
archive-zip (~> 0.10)
nokogiri (~> 1.8)
capybara (3.33.0)
addressable
mini_mime (>= 0.1.3)
nokogiri (~> 1.8)
rack (>= 1.6.0)
rack-test (>= 0.6.3)
regexp_parser (~> 1.5)
xpath (~> 3.2)
webdrivers (4.4.1)
nokogiri (~> 1.6)
rubyzip (>= 1.3.0)
selenium-webdriver (>= 3.0, < 4.0)