Giter VIP home page Giter VIP logo

Comments (1)

n1xn avatar n1xn commented on May 27, 2024

docker-compose.yml

...
  browserless:
    image: browserless/chrome:latest
    container_name: ${COMPOSE_PROJECT_NAME}_browserless
    restart: always
    environment:
      - PORT=4000
    ports:
      - '4000:4000'

.env

BROWSERLESS_URL=http://localhost:4000/

test/helpers/cuprite_helper.rb

# frozen_string_literal: true

require 'capybara/cuprite'

Capybara.register_driver(:browserless) do |app|
  Capybara::Cuprite::Driver.new(app, browser_options:
    {
      window_size: [1920, 1080],
      url: ENV.fetch('BROWSERLESS_URL', nil),
      headless: true,
      'no-sandbox': true,
      'disable-gpu': true
    })
end

Capybara.default_driver = :browserless
Capybara.javascript_driver = :browserless

# This is because the BrowserLessTest is failing.
# The problem was that, without this line, visits to a page
# always appended the capybara port to the url.
Capybara.run_server = false

test/application_system_test_case.rb

# frozen_string_literal: true

require 'test_helper'
require_relative '../test/helpers/cuprite_helper'

class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
  driven_by :browserless
end

test/system/browser_less_test.rb

# frozen_string_literal: true

require 'application_system_test_case'

class BrowserLessTest < ApplicationSystemTestCase
  test 'Remote browser connection established' do
    visit 'https://google.com'
    assert_equal 'Google', page.title
  end
end

execution

bin/rails test:system

from cuprite.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.