Use cuprite to drive Chrome #60

Merged
atomaka merged 3 commits from fix-system-test into main 2025-06-06 00:00:55 -04:00
3 changed files with 14 additions and 14 deletions

View file

@ -61,7 +61,7 @@ end
group :test do group :test do
# Use system testing [https://guides.rubyonrails.org/testing.html#system-testing] # Use system testing [https://guides.rubyonrails.org/testing.html#system-testing]
gem "capybara" gem "capybara"
gem "selenium-webdriver" gem "cuprite"
end end
gem "tailwindcss-rails", "~> 3.3.1" gem "tailwindcss-rails", "~> 3.3.1"

View file

@ -125,6 +125,9 @@ GEM
concurrent-ruby (1.3.5) concurrent-ruby (1.3.5)
connection_pool (2.5.0) connection_pool (2.5.0)
crass (1.0.6) crass (1.0.6)
cuprite (0.17)
capybara (~> 3.0)
ferrum (~> 0.17.0)
date (3.4.1) date (3.4.1)
debug (1.10.0) debug (1.10.0)
irb (~> 1.10) irb (~> 1.10)
@ -133,6 +136,12 @@ GEM
erubi (1.13.1) erubi (1.13.1)
et-orbi (1.2.11) et-orbi (1.2.11)
tzinfo tzinfo
ferrum (0.17.1)
addressable (~> 2.5)
base64 (~> 0.2)
concurrent-ruby (~> 1.1)
webrick (~> 1.7)
websocket-driver (~> 0.7)
fugit (1.11.1) fugit (1.11.1)
et-orbi (~> 1, >= 1.2.11) et-orbi (~> 1, >= 1.2.11)
raabro (~> 1.4) raabro (~> 1.4)
@ -226,7 +235,6 @@ GEM
regexp_parser (2.10.0) regexp_parser (2.10.0)
reline (0.6.0) reline (0.6.0)
io-console (~> 0.5) io-console (~> 0.5)
rexml (3.4.0)
rubocop (1.71.2) rubocop (1.71.2)
json (~> 2.3) json (~> 2.3)
language_server-protocol (>= 3.17.0) language_server-protocol (>= 3.17.0)
@ -256,14 +264,7 @@ GEM
rubocop-performance rubocop-performance
rubocop-rails rubocop-rails
ruby-progressbar (1.13.0) ruby-progressbar (1.13.0)
rubyzip (2.4.1)
securerandom (0.4.1) securerandom (0.4.1)
selenium-webdriver (4.28.0)
base64 (~> 0.2)
logger (~> 1.4)
rexml (~> 3.2, >= 3.2.5)
rubyzip (>= 1.2.2, < 3.0)
websocket (~> 1.0)
solid_cable (3.0.7) solid_cable (3.0.7)
actioncable (>= 7.2) actioncable (>= 7.2)
activejob (>= 7.2) activejob (>= 7.2)
@ -309,7 +310,7 @@ GEM
activemodel (>= 6.0.0) activemodel (>= 6.0.0)
bindex (>= 0.4.0) bindex (>= 0.4.0)
railties (>= 6.0.0) railties (>= 6.0.0)
websocket (1.2.11) webrick (1.9.1)
websocket-driver (0.7.7) websocket-driver (0.7.7)
base64 base64
websocket-extensions (>= 0.1.0) websocket-extensions (>= 0.1.0)
@ -329,6 +330,7 @@ DEPENDENCIES
bootsnap bootsnap
brakeman brakeman
capybara capybara
cuprite
debug debug
importmap-rails importmap-rails
jbuilder jbuilder
@ -336,7 +338,6 @@ DEPENDENCIES
puma (>= 5.0) puma (>= 5.0)
rails! rails!
rubocop-rails-omakase rubocop-rails-omakase
selenium-webdriver
solid_cable solid_cable
solid_cache solid_cache
solid_queue solid_queue

View file

@ -1,9 +1,8 @@
require "test_helper" require "test_helper"
require "capybara/cuprite"
class ApplicationSystemTestCase < ActionDispatch::SystemTestCase class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
driven_by :selenium, driven_by :cuprite, options: { headless: ENV["VISIBLE_SYSTEM_TESTS"].blank? }
using: ENV["VISIBLE_SYSTEM_TESTS"].present? ? :chrome : :headless_chrome,
screen_size: [ 1400, 1400 ]
def login(email, password = "secret") def login(email, password = "secret")
visit new_session_url visit new_session_url