Skip to content

[🐛 Bug]: Ruby integration test suite fails since selenium-4.28.0 #16147

@voxik

Description

@voxik

Description

In Fedora, we have rubygem-selenium-wedriver package. So far, the latest version was 4.27.0. Now trying to update to the latest slenium 4.34.0, I cannot get the Ruby integration test suite to work properly. It fails with errors such as:

  256) Selenium::WebDriver::VirtualAuthenticator#user_verified= can not obtain credential requiring verification when set to false
       Failure/Error: raise ex, cause: cause

       Selenium::WebDriver::Error::JavascriptError:
         javascript error: registerCredential is not defined
         JavaScript stack:
         ReferenceError: registerCredential is not defined
             at eval (eval at <anonymous> (:457:26), <anonymous>:3:26)
             at eval (eval at <anonymous> (:457:26), <anonymous>:3:118)
             at <anonymous>:457:47
             at new Promise (<anonymous>)
             at executeAsyncScript (<anonymous>:451:17)
             at <anonymous>:481:29
             at callFunction (<anonymous>:386:22)
             at <anonymous>:400:23
             at <anonymous>:401:3
           (Session info: chrome=138.0.7204.183)
       # ./lib/selenium/webdriver/remote/response.rb:63:in 'Selenium::WebDriver::Remote::Response#add_cause'
       # ./lib/selenium/webdriver/remote/response.rb:41:in 'Selenium::WebDriver::Remote::Response#error'
       # ./lib/selenium/webdriver/remote/response.rb:52:in 'Selenium::WebDriver::Remote::Response#assert_ok'
       # ./lib/selenium/webdriver/remote/response.rb:34:in 'Selenium::WebDriver::Remote::Response#initialize'
       # ./lib/selenium/webdriver/remote/http/common.rb:103:in 'Class#new'
       # ./lib/selenium/webdriver/remote/http/common.rb:103:in 'Selenium::WebDriver::Remote::Http::Common#create_response'
       # ./lib/selenium/webdriver/remote/http/default.rb:103:in 'Selenium::WebDriver::Remote::Http::Default#request'
       # ./lib/selenium/webdriver/remote/http/common.rb:68:in 'Selenium::WebDriver::Remote::Http::Common#call'
       # ./lib/selenium/webdriver/remote/bridge.rb:685:in 'Selenium::WebDriver::Remote::Bridge#execute'
       # ./lib/selenium/webdriver/remote/bridge.rb:371:in 'Selenium::WebDriver::Remote::Bridge#execute_async_script'
       # ./lib/selenium/webdriver/common/driver.rb:255:in 'Selenium::WebDriver::Driver#execute_async_script'
       # ./spec/integration/selenium/webdriver/virtual_authenticator_spec.rb:67:in 'RSpec::ExampleGroups::SeleniumWebDriverVirtualAuthenticator#register_credential'
       # ./spec/integration/selenium/webdriver/virtual_authenticator_spec.rb:247:in 'block (3 levels) in <module:WebDriver>'
       # ------------------
       # --- Caused by: ---
       # Selenium::WebDriver::Error::WebDriverError:
       #   #0 0x56415e9017ae <unknown>
#1 0x56415e2e2660 <unknown>
#2 0x56415e2ec8a9 <unknown>
#3 0x56415e2ec2f6 <unknown>
#4 0x56415e37dd61 <unknown>
#5 0x56415e35ab32 <unknown>
#6 0x56415e37cc3a <unknown>
#7 0x56415e35a903 <unknown>
#8 0x56415e325321 <unknown>
#9 0x56415e325ff1 <unknown>
#10 0x56415e8cd3aa <unknown>
#11 0x56415e8d0772 <unknown>
#12 0x56415e8d01f8 <unknown>
#13 0x56415e8d0bd5 <unknown>
#14 0x56415e8b6f9c <unknown>
#15 0x56415e8d0f41 <unknown>
#16 0x56415e89eb2a <unknown>
#17 0x56415e8efb15 <unknown>
#18 0x56415e8efd3a <unknown>
#19 0x56415e900a75 <unknown>
#20 0x7f6d3f2aa154 start_thread
#21 0x7f6d3f32ccac __clone3

Trying to figure out where the issue comes, I was able to find that the first version having this kind of troubles is already selenium 4.28.0 and specifically, it seems that if I cherry-pick 89b84ae on top of 4.27.0, I can already reproduce the issue.

I am running the test suite against headless Chromium:

$ rpm -q chromium-headless
chromium-headless-139.0.7258.66-1.fc43.x86_64

$ rpm -q chromedriver
chromedriver-139.0.7258.66-1.fc43.x86_64

Reproducible Code

$ HEADLESS=true SE_CHROMEDRIVER=chromedriver  rspec spec/integration/selenium/webdriver/virtual_authenticator_spec.rb:243
Run options: include {locations: {"./spec/integration/selenium/webdriver/virtual_authenticator_spec.rb" => [243]}}

Running Ruby specs:

 browser: chrome
  driver: chrome
 version: 139.0.7258.66
platform: linux
      ci: 
     rbe: false
    ruby: ruby 3.4.4 (2025-05-14 revision a38531fd3f) +PRISM [x86_64-linux]


Selenium::WebDriver::VirtualAuthenticator
  #user_verified=
    can not obtain credential requiring verification when set to false (FAILED - 1)

Failures:

  1) Selenium::WebDriver::VirtualAuthenticator#user_verified= can not obtain credential requiring verification when set to false
     Failure/Error: raise ex, cause: cause
     
     Selenium::WebDriver::Error::JavascriptError:
       javascript error: registerCredential is not defined
       JavaScript stack:
       ReferenceError: registerCredential is not defined
           at eval (eval at <anonymous> (:457:26), <anonymous>:3:26)
           at eval (eval at <anonymous> (:457:26), <anonymous>:3:118)
           at <anonymous>:457:47
           at new Promise (<anonymous>)
           at executeAsyncScript (<anonymous>:451:17)
           at <anonymous>:481:29
           at callFunction (<anonymous>:386:22)
           at <anonymous>:400:23
           at <anonymous>:401:3
         (Session info: chrome=139.0.7258.66)
     # ./lib/selenium/webdriver/remote/response.rb:63:in 'Selenium::WebDriver::Remote::Response#add_cause'
     # ./lib/selenium/webdriver/remote/response.rb:41:in 'Selenium::WebDriver::Remote::Response#error'
     # ./lib/selenium/webdriver/remote/response.rb:52:in 'Selenium::WebDriver::Remote::Response#assert_ok'
     # ./lib/selenium/webdriver/remote/response.rb:34:in 'Selenium::WebDriver::Remote::Response#initialize'
     # ./lib/selenium/webdriver/remote/http/common.rb:103:in 'Class#new'
     # ./lib/selenium/webdriver/remote/http/common.rb:103:in 'Selenium::WebDriver::Remote::Http::Common#create_response'
     # ./lib/selenium/webdriver/remote/http/default.rb:103:in 'Selenium::WebDriver::Remote::Http::Default#request'
     # ./lib/selenium/webdriver/remote/http/common.rb:68:in 'Selenium::WebDriver::Remote::Http::Common#call'
     # ./lib/selenium/webdriver/remote/bridge.rb:625:in 'Selenium::WebDriver::Remote::Bridge#execute'
     # ./lib/selenium/webdriver/remote/bridge.rb:309:in 'Selenium::WebDriver::Remote::Bridge#execute_async_script'
     # ./lib/selenium/webdriver/common/driver.rb:248:in 'Selenium::WebDriver::Driver#execute_async_script'
     # ./spec/integration/selenium/webdriver/virtual_authenticator_spec.rb:67:in 'RSpec::ExampleGroups::SeleniumWebDriverVirtualAuthenticator#register_credential'
     # ./spec/integration/selenium/webdriver/virtual_authenticator_spec.rb:247:in 'block (3 levels) in <module:WebDriver>'
     # ------------------
     # --- Caused by: ---
     # Selenium::WebDriver::Error::WebDriverError:
     #   #0 0x563e6106172e <unknown>
#1 0x563e60a3c450 <unknown>
#2 0x563e60a46699 <unknown>
#3 0x563e60a460e6 <unknown>
#4 0x563e60ad8141 <unknown>
#5 0x563e60ab4ee2 <unknown>
#6 0x563e60ad701a <unknown>
#7 0x563e60ab4cb3 <unknown>
#8 0x563e60a7f6d1 <unknown>
#9 0x563e60a803a1 <unknown>
#10 0x563e6102c48a <unknown>
#11 0x563e6102f7a2 <unknown>
#12 0x563e6102f228 <unknown>
#13 0x563e6102fc05 <unknown>
#14 0x563e6101614c <unknown>
#15 0x563e6102ff71 <unknown>
#16 0x563e60ffdf6a <unknown>
#17 0x563e6104ea65 <unknown>
#18 0x563e6104ec8a <unknown>
#19 0x563e61060125 <unknown>
#20 0x7f4063f26384 start_thread
#21 0x7f4063fa946c __clone3


Finished in 1.73 seconds (files took 0.17793 seconds to load)
1 example, 1 failure

Failed examples:

rspec ./spec/integration/selenium/webdriver/virtual_authenticator_spec.rb:243 # Selenium::WebDriver::VirtualAuthenticator#user_verified= can not obtain credential requiring verification when set to false

ℹ️ Last known working version: 4.27.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-rbRuby BindingsD-chromeI-defectSomething is not working as intendedI-regressionSomething was working but we "fixed" itJ-awaiting answerQuestion asked of user; a reply moves it to triage againOS-linux

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions