Use Selenium's own webdriver manager instead of the currently used webdriver-manager from core.
A simple update to >=4.6.0 (4.7.2 by the time of writing) might not be enough, since there is more to consider:
[x] With that version onwards, selenium logic changed and affected the auto_close behaviour, where the browser window still gets closed when you turn the flag off. (needs further investigation on finding the culprit)
[ ] Inspector still relies on core logic (implicitly the webdriver-manager) to download() and start() the webdriver. Don't we risk running into trouble if we have multiple ways of acquiring and starting the webdriver?
[ ] ~The caching path ends up in the holotree with default Selenium configuration.~ (not really, it ends up actually in the User's .cache directory, but have to check if that will lead to problems if outside of Robocorp home folder); Need to find a way on setting up a custom external path for the downloaded webdriver binary, like we already support in the current core manager. (DRIVER_ROOT = robocorp_home() / "webdrivers")
ToDo
[ ] Decide what from the recommendations above really makes sense and is important to be done before going further with Selenium's manager.
[ ] Get rid of the download param in OAB if we can't control anymore the decision of downloading or not the webdriver automatically.
[ ] Test thoroughly the OAB keyword just to ensure it works ok with multiple browsers on multiple OSes.
Next
Release as a breaking change if we remove parameters from the keyword and if we can't guarantee that the behaviour will stay the same on all the systems.
Notes
Selenium Manager logic triggering is made when the default used executable (like chromedriver) isn't found in PATH and can be observed in the common WebDriver's Service class logic. @kariharju
Use Selenium's own webdriver manager instead of the currently used webdriver-manager from core.
A simple update to
>=4.6.0
(4.7.2 by the time of writing) might not be enough, since there is more to consider:selenium
logic changed and affected theauto_close
behaviour, where the browser window still gets closed when you turn the flag off. (needs further investigation on finding the culprit)webdriver-manager
) todownload()
andstart()
the webdriver. Don't we risk running into trouble if we have multiple ways of acquiring and starting the webdriver?DRIVER_ROOT = robocorp_home() / "webdrivers"
)ToDo
download
param inOAB
if we can't control anymore the decision of downloading or not the webdriver automatically.OAB
keyword just to ensure it works ok with multiple browsers on multiple OSes.Next
Notes
Selenium Manager logic triggering is made when the default used executable (like
chromedriver
) isn't found inPATH
and can be observed in the common WebDriver'sService
class logic. @kariharju