DEV Community

Discussion on: The complete guide to setup a CI/CD for Rails 6+ on Gitlab

Collapse
 
gafemoyano profile image
Felipe Moyano

Hi, thanks for your post! It was very useful. However I'm struggling a bit to get the system tests running.

I don't know if I'm missing something, but I'm getting a lot of errors when initializing Chromedriver.

Did you include it in your docker image? Is there any script you're executing on the build phase to install chromedriver and it's dependencies?

Thanks again for a great post

Felipe

Collapse
 
zimski profile image
CHADDA Chakib

Thank you for your comment, I updated the blog post.

Collapse
 
zimski profile image
CHADDA Chakib

Hey Felipe,

I think the error that you are getting is when the system test is trying to connect to the chrome driver in the separated container and failed.

I think this can help you by updating this file application_system_test_case.rb

require "test_helper"
require "socket"


def prepare_options
  driver_options = {
    desired_capabilities: {
      chromeOptions: {
        args: %w[headless disable-gpu disable-dev-shm-usage]
      }
    }
  }

  driver_options[:url] = ENV['selenium_remote_url'] if ENV['selenium_remote_url']

  driver_options
end

class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
  driven_by :selenium, using: :chrome, screen_size: [1400, 1400],
            options: prepare_options
end

Take attention to the code that fetch the selenium_remote_url from the env variable

Collapse
 
gafemoyano profile image
Felipe Moyano

Thanks! That did the trick.