我正在尝试在本地计算机上加载一个独立的Selenium服务器来测试一些代码。我升级了Chrome,这意味着我必须升级Chromedriver,这导致我的单元测试环境停止工作。因此,我选择升级硒来解决这个问题。但是,当我运行命令时:
$ java -Dwebdriver.chrome.driver="./chromedriver" -jar selenium-server-4.0.0-alpha-3.jar standalone
我收到以下错误:
08:19:00.496 INFO [EventBusConfig.createBus] - Creating event bus: org.openqa.selenium.events.local.GuavaEventBus
Exception in thread "main" java.lang.IllegalArgumentException: Max session count must be greater than 0.
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:148)
at org.openqa.selenium.grid.data.NodeStatus.<init>(NodeStatus.java:57)
at org.openqa.selenium.grid.node.local.LocalNode.getStatus(LocalNode.java:239)
at org.openqa.selenium.grid.distributor.local.LocalDistributor.add(LocalDistributor.java:281)
at org.openqa.selenium.grid.distributor.local.LocalDistributor.add(LocalDistributor.java:71)
at org.openqa.selenium.grid.commands.Standalone.lambda$configure$1(Standalone.java:159)
at org.openqa.selenium.grid.Main.launch(Main.java:123)
at org.openqa.selenium.grid.Main.main(Main.java:100)
我似乎找不到有关此确切错误的任何信息,我发现的与会话问题相关的所有内容都与托管远程Selenium服务器的"网格"概念有关(这不是我在这里尝试做的(。我看到了这个线程,并想将"-browser"参数放在我上面的命令上,但显然独立模式甚至不支持将其作为参数......或"最大会话"。
传递了主参数"-browser",但 arg 类中没有定义主参数
传递了主参数"-maxSession",但 arg 类中没有定义主参数
我放入.jar目录中的chromedriver二进制文件没有执行权限。
$ chmod +x chromedriver
现在一切正常。开发的一个非常基本的方面往往是问题,而错误消息似乎与实际问题无关,这不是很有趣吗?