SeleniumHQ / selenium-ide

Open Source record and playback test automation for the web.
https://selenium.dev/selenium-ide/
Apache License 2.0
2.73k stars 740 forks source link

Wrong chromedriver executable for the Selenium.IDE-4.0.1-alpha.*.exe #1745

Closed jiakai-1 closed 6 months ago

jiakai-1 commented 6 months ago

Hello, I am having problems booting with seleniumide4.0.1 in windows,Startup error: Unable to startup due to chromedriver error: Missing executable at path mypath\selenium-ide\resource..chromedriver-v.exe. image

I have observed similar issues in the community, but there doesn't seem to be any mention of windows fixes issue

jiakai-1 commented 6 months ago

I switched to another windwos computer and it still has this warning

jiakai-1 commented 6 months ago

After much trial and error, I placed the default seleniumide folder on drive D and saw a detailed error that the chromedriver-v.exefile was missing in selenium-ide\resources\app.asar.unpacked\files image I moved chromedriver.exe to the corresponding directory and changed the name to chromedriver-v.exe. seleniumide started normally。 Although the problem has been solved, I am still wondering why the chromedriver-v.exe message is missing。

blutorange commented 6 months ago

I think it would be good to keep this issue open, other Windows users might run into the same issue. Sounds to me like it might be a general problem that the paths are wrong.

toddtarsi commented 6 months ago

Yep! Keep it open! I will double check that I didn't break the chromedriver path on binary releases. I made some slight tweaks to the pathing system for npm based installs, and I thought it would be better, but perhaps that's not the case.

toddtarsi commented 6 months ago

Hey everyone, this was my bad and is resolved in latest! Should be fine on Windows. Basically, I've started adding experimental support (still v broken) for custom drivers via the bidi API. Previously, this was hard coded to Electron. However, my persisted store defaults are set to chrome with no version, not electron. I corrected those to electron, and added a startup fallback path where if it fails to load a non-standard driver and fails, it will set the driver state to the builtin electron driver, and instantiate from that. Sorry all!

mrgamedev07 commented 6 months ago

Hey @toddtarsi , I checked this issue in latest release [4.0.1-alpha.70-windows] Now able to launch IDE able to create a project but when i try to record a test or when i try to run an exsisting script web driver error occured .

"Error occurred in handler for 'recorder.start':", Error: ECONNREFUSED connect ECONNREFUSED 127.0.0.1:9516 at ClientRequest. (C:\Users***\AppData\Local\Programs\selenium-ide\resources\app.asar\build\webpack:\node_modules.pnpm\selenium-webdriver@4.16.0\node_modules\selenium-webdriver\http\index.js:296:15) at ClientRequest.emit (node:events:517:28)

toddtarsi commented 6 months ago

@jiakai-1 @blutorange @mrgamedev07 - My mistake! I had a fallback thing that ran here, but I basically was using try/catch when I needed to do a kinda cb(error) type of deal. x.71 going out now and it should reset to electron without issue. I made sure to replicate locally and playback seemed alright. Sorry about that and thank you for the heads up!

toddtarsi commented 6 months ago

@jiakai-1 @blutorange @mrgamedev07 - Hey all, just wanted to check in here and see if any of you had a chance to test? Things should be good for windows. Just pushing a fix now to make re-running recorder and playback after closing windows more stable 🙂

blutorange commented 6 months ago

I can only speak for Ubuntu, the latest alpha-71 for Linux seems to be working fine. Recording also works, although I get the following error (probably unrelated to this issue?) when I make a right-click in the recording window (e.g. to add an assertion):

webdriver-error: '[1703837692.011][DEBUG]: DevTools WebSocket Event: Runtime.exceptionThrown (session_id=3C7AFF6272E64711F8A67012E9690867) E493E22AC793D585F71665B6A8E78172 {\n' +
  '   "exceptionDetails": {\n' +
  '      "columnNumber": 175801,\n' +
  '      "exception": {\n' +
  '         "className": "TypeError",\n' +
  '         "description": "TypeError: a.get(...) is not a function\\n    at s (\\u003Canonymous>:3:175802)",\n' +
  '         "objectId": "2198788729513033637.2.15",\n' +
  '         "preview": {\n' +
  '            "description": "TypeError: a.get(...) is not a function\\n    at s (\\u003Canonymous>:3:175802)",\n' +
  '            "overflow": false,\n' +
  '            "properties": [ {\n' +
  '               "name": "stack",\n' +
  '               "type": "string",\n' +
  '               "value": "TypeError: a.get(...) is not a function\\n    at s (\\u003Canonymous>:3:175802)"\n' +
  '            }, {\n' +
  '               "name": "message",\n' +
  '               "type": "string",\n' +
  '               "value": "a.get(...) is not a function"\n' +
  '            } ],\n' +
  '            "subtype": "error",\n' +
  '            "type": "object"\n' +
  '         },\n' +
  '         "subtype": "error",\n' +
  '         "type": "object"\n' +
  '      },\n' +
  '      "exceptionId": 4,\n' +
  '      "executionContextId": 2,\n' +
  '      "lineNumber": 2,\n' +
  '      "scriptId": "5",\n' +
  '      "stackTrace": {\n' +
  '         "callFrames": [ {\n' +
  '            "columnNumber": 175801,\n' +
  '            "functionName": "s",\n' +
  '            "lineNumber": 2,\n' +
  '            "scriptId": "5",\n' +
  '            "url": ""\n' +
  '         } ]\n' +
  '      },\n' +
  '      "text": "Uncaught (in promise)"\n' +
  '   },\n' +
  '   "timestamp": 1.70383769200891e+12\n' +
  '}\n'
mrgamedev07 commented 6 months ago

@toddtarsi , now windows is good

toddtarsi commented 6 months ago

Awesome!

@mrgamedev07 - Thank you for testing. @blutorange - Same to you. I made a new issue for context menu assertions. I'll look into that later, thanks for letting me know!

github-actions[bot] commented 5 months ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.