在 selenium 网格中注册新节点时,我使用 -D java 参数指定可执行驱动程序的路径:
java -Dwebdriver.chrome.driver="../driver/chromedriver.exe" -jar selenium-server-standalone-3.3.1.jar -role node -hub http://localhost:4445/grid/register -nodeConfig config/defaultNodeConfig.json
我想使用 webdrivermanager-java 库(https://github.com/bonigarcia/webdrivermanager)来管理驱动程序可执行文件。但它使用 System.setProperty() 注册驱动程序,因此它仅在运行库的 JVM 中可用(我弄错了吗?)。
我的问题是:
在启动节点之前从命令行调用webdrivermanager-java的正确方法是什么以及如何将下载的驱动程序的路径导出到 selenium 节点的 -D java 参数?
我有一个想法来创建微小的“node-runner”java应用程序并在其中调用webdrivermanager和selenium-server-standalone.jar,因此它们使用相同的JVM环境。
是否有更好的解决方案来使用 webdrivermanager 设置节点的驱动程序路径?