theintern / theintern.github.io

http://theintern.io
Other
0 stars 8 forks source link

chromewebdriver - versions outdated - use localsystem version #53

Closed chrisrymer closed 1 year ago

chrisrymer commented 1 year ago

I hate to raise an issue here when work may have been paused for other more pressing projects but I am also not against submiting a pull request if I can be pointed in the right direction.

I am resurrecting a dojo 1.10 project which has no unit tests and I was looking for something other than DOH. I have been testing theintern as a possible solution and it was working great with Chrome 112.x (by updating the tunnelOptions version number.)

Fast forward a little and we are now using Chrome 115.x. Alongside this release the way that chromewebdriver is released has changed. You now can access downloads from here https://googlechromelabs.github.io/chrome-for-testing/

There is more info about how the release processses have changed here: https://groups.google.com/g/chromedriver-users/c/clpipqvOGjE?pli=1

The issue is that the URL structure has changed significantly., so adding the new version fails As a means to game the system I simply added the full URL to the basePath added ? at the end of the URL to avoid the old URL being requested.

{ "name": "chrome", "baseUrl": "https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/115.0.5790.102/mac-arm64/chromedriver-mac-arm64.zip?", "version": "115.0.5790.102" }

This results in 'Error: unable to get local issuer certificate' which seems to be a TLS/HTTPS issue (Beyond my know how right now).

When try just updating the chrome webdriver in the digdug folder to the new version manually there is a mismatch of some sort, or the version of selenium does not support perhaps.

Finally I treid to bypassed the issuer cert problem with "test": "export NODE_TLS_REJECT_UNAUTHORIZED=\"0\" && intern". This does download the correct version but I get the following error. I am either missing a simple parameter or I need another solution.

  SessionNotCreatedException: [POST http://localhost:4444/wd/hub/session / {"desiredCapabilities":{"name":"intern","idle-timeout":60,"browserName":"chrome","browser":"chrome"}}] 
  Unable to create new service: ChromeDriverService Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53' 
  System info: host: 'XXXXXXXX, ip: 'XXXXXXXXXXXXXX', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '12.6', java.version: '17.0.4.1' Driver info: driver.version: unknown

My thought is that I would like to be able to manage my own chromedriver and use it across other tools. In which case I can download and install 115.0.5790.102 in my system /usr/bin/chromewebdriver and export it to the shell .

If theintern could check if I already had it set up and that it matched my tunnelOptions version number and allow me to bypass the download and config. A simpler option maybe to point to a specific directory where my chromewebdriver may be.

I have had a little look through the code and I cannot see anything which seems to attempt this. If you have any pointers I am happy to inverstigate further.

chrisrymer commented 1 year ago

I just discovered that firefox works ootb no need for any config. I think I will just work with that and save myself and anyone else the time.