尝试从intelliJ启动selenium服务器时,jar文件无效或损坏

问题描述 投票:11回答:4

我试图从intelliJ启动我的selenium服务器,它说该文件已损坏。

我使用intelliJ来运行我的量角器测试,当我运行它们之前从intelliJ终端启动selenium服务器。无论出于何种原因,它都说我的selenium-server-standalone的jar文件又回来了。有没有办法解决这个问题,如果没有,有没有办法删除然后重新安装selenium服务器?

C:\ Users \ pheonix.jones \ IdeaProjects \ attensity -q-protractor> webdriver-manager start [11:39:09] I / start - java -Dwebdriver.chrome.driver = C:\ Users \ pheonix.jones \ AppData \漫游\ npm \ node_modules \ protractor \ node_modules \ webdriver-manager \ selenium \ chromedriver_2.46.exe -Dwebdriver.gecko.driver = C:\ Users \ pheonix.jones \ AppData \ Roaming \ npm \ node_modules \ pro tractor \ node_modules \ webdriver-manager \ selenium \ geckodriver-v0.24.0.exe -jar C:\ Users \ pheonix.jones \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ webdriver-manager \ selenium \ selenium-server-standalone-4.0 .0-alpha-1.zip.jar -port 4444 [11:39:09] I / start - seleniumProcess.pid:2748错误:无效或损坏jarfile C:\ Users \ pheonix.jones \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ webdriver-manager \ selenium \ selenium-server-standalone-4.0.0-alpha-1.zip.jar [11:39:09] I / start - Selenium Standalone已退出,代码为1

正如你所看到的那样,它在退回之后就会退出腐败。我之前没有遇到过这个问题。我确实尝试更新webdriver。

angularjs selenium selenium-webdriver jasmine protractor
4个回答
4
投票

对于此问题,webdriver-manager项目存在一个开放缺陷:https://github.com/angular/webdriver-manager/issues/370

作为临时解决方法,您可以在量角器配置中使用directConnect属性。


33
投票

我发现了一种可能接受或可能不接受的解决方法。您可以强制webdriver-manager使用旧版本的selenium-standalone软件包。这避免了4.0.0-alpha-1的问题。

$ webdriver-manager clean
$ webdriver-manager update --standalone --versions.standalone=3.8.0
$ webdriver-manager start --versions.standalone=3.8.0
…
[14:19:55] I/start - seleniumProcess.pid: 63863
14:19:55.379 INFO - Selenium build info: version: '3.8.0', revision: '924c4067df'
14:19:55.380 INFO - Launching a standalone Selenium Server
2019-04-24 14:19:55.483:INFO::main: Logging initialized @390ms to org.seleniumhq.jetty9.util.log.StdErrLog

3
投票

4.0.0-alpha-1存在问题,删除文件后可以安装一些可以使用的旧版本。如果您只是使用webdriver-manager更新来更新wevdriver管理器,那么它将不适合您,但您需要使用类似“webdriver-manager update --standalone --versions.standalone =”某些旧版本“


-1
投票

由于你使用的是量角器,你可以尝试使用webdriver-manager update

你应该像这样启动服务器 - webdriver-manager start

我相信Protractor的webdriver-manager已经包含了selenium独立服务器。

或者您可以在conf文件中添加此行,在运行Protractor规范文件之前不再需要手动启动任何内容directConnect: true

© www.soinside.com 2019 - 2024. All rights reserved.