2017-01-12 1 views
0

У меня есть проект (Rails 5, Capybara-webkit, Rspec), который я пытаюсь настроить на круге.CircleCI не работает с web-сайтом capybara (Rails)

Я добавил файл circle.yml на мой корень проекта, с elasticsearch службы, учитывая мой проект с использованием searchkick:

machine: 
    timezone: 
    America/Los_Angeles 
    ruby: 
    version: 2.3.0 
    services: 
    - elasticsearch 

Проблема заключается в том, что circleci возвращает мне следующую ошибку:

1.1) Failure/Error: visit products_path

Capybara::Webkit::NoResponseError: No response received from the server. # ./spec/features/shop/index/add_product_to_list_spec.rb:48:in `block (6 levels) in '

1.2) Failure/Error: @socket.puts string

Errno::EPIPE: Broken pipe

/home/ubuntu/regalitos/vendor/bundle/ruby/2.3.0/gems/capybara-webkit-1.1.0/lib/capybara/webkit/connection.rb:29:in 'write' # /home/ubuntu/regalitos/vendor/bundle/ruby/2.3.0/gems/capybara-webkit-1.1.0/lib/capybara/webkit/connection.rb:29:in 'puts' # /home/ubuntu/regalitos/vendor/bundle/ruby/2.3.0/gems/capybara-webkit-1.1.0/lib/capybara/webkit/connection.rb:29:in 'puts' # /home/ubuntu/regalitos/vendor/bundle/ruby/2.3.0/gems/capybara-webkit-1.1.0/lib/capybara/webkit/browser.rb:146:in command' # /home/ubuntu/regalitos/vendor/bundle/ruby/2.3.0/gems/capybara-webkit-1.1.0/lib/capybara/webkit/browser.rb:78:in current_url' # /home/ubuntu/regalitos/vendor/bundle/ruby/2.3.0/gems/capybara-webkit-1.1.0/lib/capybara/webkit/driver.rb:25:in current_url' # /home/ubuntu/regalitos/vendor/bundle/ruby/2.3.0/gems/capybara-2.9.2/lib/capybara/session.rb:188:in current_url' # /home/ubuntu/regalitos/vendor/bundle/ruby/2.3.0/gems/capybara-screenshot-1.0.14/lib/capybara-screenshot/rspec.rb:55:in block in after_failed_example' # /home/ubuntu/regalitos/vendor/bundle/ruby/2.3.0/gems/capybara-2.9.2/lib/capybara.rb:355:in using_session' # /home/ubuntu/regalitos/vendor/bundle/ruby/2.3.0/gems/capybara-screenshot-1.0.14/lib/capybara-screenshot/rspec.rb:54:in after_failed_example' # /home/ubuntu/regalitos/vendor/bundle/ruby/2.3.0/gems/capybara-screenshot-1.0.14/lib/capybara-screenshot/rspec.rb:84:in block (2 levels) in '

И все другие функциональные тесты также возвращают ошибку сломанной трубы.

После поиска немного, я увидел, что возможное решение было для выполнения тестов в xvfb-run так я обновил мой circle.yml файл и оставил его так:

machine: 
    timezone: 
    America/Los_Angeles 
    ruby: 
    version: 2.3.0 
    services: 
    - elasticsearch 

test: 
    override: 
    - xvfb-run -a bundle exec rspec: 
     parallel: false 
     files: 
      - spec/**/*_spec.rb 

Но я до сих пор получить ту же ошибку. Есть идеи?

ответ

0

Видимо, я должен был добавить в файл в qt5 установку что необходимые водосвинки-WebKit.

У меня это работает. Это circle.yml Я использовал, чтобы получить его работы:

machine: 
    timezone: 
    America/Los_Angeles 
    ruby: 
    version: 2.3.0 
    services: 
    - elasticsearch 

dependencies: 
    pre: 
    - sudo add-apt-repository ppa:beineri/opt-qt542-trusty -y 
    - sudo apt-get update -y; true 
    - sudo apt-get install -y qt54webkit libwebkit-dev libgstreamer0.10-dev 
    - echo "/opt/qt54/bin/qt54-env.sh" >> ~/.circlerc 

Вы можете прочитать здесь: https://discuss.circleci.com/t/using-qt-5-with-circleci/88/16

Смежные вопросы