crystal-loot / selenium.cr

Selenium library for Crystal
https://crystal-loot.github.io/selenium.cr/
MIT License
24 stars 7 forks source link

Missing hash key: "sessionId" (KeyError) #40

Closed jwoertink closed 10 months ago

jwoertink commented 10 months ago

I'm getting this error from all of the specs. Doing a little debugging, this is coming from trying to create a new session

      Missing hash key: "sessionId" (KeyError)
         from /usr/share/crystal/src/hash.cr:1172:11 in '[]'
         from /usr/share/crystal/src/json/any.cr:115:7 in '[]'
         from /usr/share/crystal/src/json/any.cr:156:5 in 'dig'
         from /usr/share/crystal/src/json/any.cr:151:5 in 'dig'
         from src/selenium/driver.cr:50:47 in 'create_session'
         from src/selenium/driver.cr:41:3 in 'create_session'
         from src/selenium/chrome/driver.cr:3:5 in 'create_session'
         from src/selenium/chrome/driver.cr:9:5 in 'create_session'
         from spec/features/session_spec.cr:14:20 in '->'
         from /usr/share/crystal/src/spec/example.cr:45:13 in 'internal_run'
         from /usr/share/crystal/src/spec/example.cr:33:16 in 'run'
         from /usr/share/crystal/src/spec/context.cr:18:23 in 'internal_run'
         from /usr/share/crystal/src/spec/context.cr:342:7 in 'run'
         from /usr/share/crystal/src/spec/context.cr:18:23 in 'internal_run'
         from /usr/share/crystal/src/spec/context.cr:158:7 in 'run'
         from /usr/share/crystal/src/spec/dsl.cr:212:7 in '->'
         from /usr/share/crystal/src/crystal/at_exit_handlers.cr:14:19 in 'run'
         from /usr/share/crystal/src/crystal/main.cr:64:14 in 'exit'
         from /usr/share/crystal/src/crystal/main.cr:59:5 in 'main'
         from /usr/share/crystal/src/crystal/main.cr:141:3 in 'main'
         from /lib/x86_64-linux-gnu/libc.so.6 in '??'
         from /lib/x86_64-linux-gnu/libc.so.6 in '__libc_start_main'
         from /home/jeremy/.cache/crystal/crystal-run-spec.tmp in '_start'
         from ???

My guess is this is related to the recent breaking changes chromedriver did between v114 and v115... For some reason, it's saying my local version is v71? but it's not...

data # => {"sessionId" => "286bfa48553f962702e1cbbe375a9cb2",
 "status" => 33,
 "value" =>
  {"message" =>
    "session not created: Missing or invalid capabilities\n" +
    "  (Driver info: chromedriver=71.0.3578.137 (86ee722808adfe9e3c92e6e8ea746ade08423c7e),platform=Linux 6.5.4-76060504-generic x86_64)"}}
capabilities # => #<Selenium::Chrome::Capabilities:0x7f997ddf5300
 @accept_insecure_certs=nil,
 @browser_name="chrome",
 @browser_version=nil,
 @chrome_options=
  #<Selenium::Chrome::Capabilities::ChromeOptions:0x7f997ddfaac0
   @args=["no-sandbox", "headless", "disable-gpu"],
   @binary=nil,
   @debugger_address=nil,
   @detach=nil,
   @extensions=nil>,
 @page_load_strategy=nil,
 @platform_name=nil,
 @proxy=nil,
 @set_window_rect=nil,
 @strict_file_interactability=nil,
 @timeouts=nil,
 @unhandled_prompt_behavior=nil>
❯ chromedriver --version
ChromeDriver 118.0.5993.88 (1d05652f52a55dcf9a7905af94949f2bc3a66306-refs/branch-heads/5993@{#1298})