【问题标题】:protractor not starting selenium量角器不启动硒
【发布时间】:2017-09-06 15:31:51
【问题描述】:

我在使用量角器开始端到端测试时遇到以下错误。

manu@MANU:/mnt/c/Users/Manu/Documents/manu/programs/web/angular/dw-ng2-app$ ./node_modules/protractor/bin/protractor ./conf.js
[16:29:47] I/launcher - Running 1 instances of WebDriver
[16:29:47] I/direct - Using ChromeDriver directly...
[16:29:47] E/launcher - EINVAL: invalid argument, uv_interface_addresses
[16:29:47] E/launcher - Error: EINVAL: invalid argument, uv_interface_addresses
    at Error (native)
    at getLoInterface (/mnt/c/Users/Manu/Documents/manu/programs/web/angular/dw-ng2-app/node_modules/selenium-webdriver/net/index.js:30:20)
    at getAddress (/mnt/c/Users/Manu/Documents/manu/programs/web/angular/dw-ng2-app/node_modules/selenium-webdriver/net/index.js:46:14)
    at Object.exports.getLoopbackAddress (/mnt/c/Users/Manu/Documents/manu/programs/web/angular/dw-ng2-app/node_modules/selenium-webdriver/net/index.js:85:10)
    at resolveCommandLineFlags.then.args (/mnt/c/Users/Manu/Documents/manu/programs/web/angular/dw-ng2-app/node_modules/selenium-webdriver/remote/index.js:240:24)
    at process._tickCallback (internal/process/next_tick.js:109:7)
From: Task: WebDriver.createSession()
    at Function.createSession (/mnt/c/Users/Manu/Documents/manu/programs/web/angular/dw-ng2-app/node_modules/selenium-webdriver/lib/webdriver.js:777:24)
    at Function.createSession (/mnt/c/Users/Manu/Documents/manu/programs/web/angular/dw-ng2-app/node_modules/selenium-webdriver/chrome.js:709:29)
    at Direct.getNewDriver (/mnt/c/Users/Manu/Documents/manu/programs/web/angular/dw-ng2-app/node_modules/protractor/lib/driverProviders/direct.ts:90:25)
    at Runner.createBrowser (/mnt/c/Users/Manu/Documents/manu/programs/web/angular/dw-ng2-app/node_modules/protractor/lib/runner.ts:225:39)
    at q.then.then (/mnt/c/Users/Manu/Documents/manu/programs/web/angular/dw-ng2-app/node_modules/protractor/lib/runner.ts:391:27)
    at _fulfilled (/mnt/c/Users/Manu/Documents/manu/programs/web/angular/dw-ng2-app/node_modules/protractor/node_modules/q/q.js:834:54)
    at self.promiseDispatch.done (/mnt/c/Users/Manu/Documents/manu/programs/web/angular/dw-ng2-app/node_modules/protractor/node_modules/q/q.js:863:30)
    at Promise.promise.promiseDispatch (/mnt/c/Users/Manu/Documents/manu/programs/web/angular/dw-ng2-app/node_modules/protractor/node_modules/q/q.js:796:13)
    at /mnt/c/Users/Manu/Documents/manu/programs/web/angular/dw-ng2-app/node_modules/protractor/node_modules/q/q.js:556:49
    at runSingle (/mnt/c/Users/Manu/Documents/manu/programs/web/angular/dw-ng2-app/node_modules/protractor/node_modules/q/q.js:137:13)
[16:29:47] E/launcher - Process exited with error code 199
manu@MANU:/mnt/c/Users/Manu/Documents/manu/programs/web/angular/dw-ng2-app$

我可能是因为启动 webdriver 的问题。我尝试运行 selenium,但出现以下错误

manu@MANU:/mnt/c/Users/Manu/Documents/manu/programs/web/angular/dw-ng2-app$ ./node_modules/protractor/bin/webdriver-manager start
[16:27:55] I/start - java -Djava.security.egd=file:///dev/./urandom -Dwebdriver.chrome.driver=/mnt/c/Users/Manu/Documents/manu/programs/web/angular/dw-ng2-app/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.32 -Dwebdriver.gecko.driver=/mnt/c/Users/Manu/Documents/manu/programs/web/angular/dw-ng2-app/node_modules/protractor/node_modules/webdriver-manager/selenium/geckodriver-v0.18.0 -jar /mnt/c/Users/Manu/Documents/manu/programs/web/angular/dw-ng2-app/node_modules/protractor/node_modules/webdriver-manager/selenium/selenium-server-standalone-3.5.3.jar -port 4444
[16:27:55] I/start - seleniumProcess.pid: undefined
[16:27:55] W/start - Selenium Standalone server encountered an error: Error: spawn java ENOENT

我尝试使用带有 webdriver-manager 的 cleanstart 选项清理和重新启动,但这并没有解决问题

更新--- 我通过 Bash for Windows 在 Windows 机器上运行它。启动 Selenium 的问题是 Bash 找不到 Java。我导出了 Path,但是因为 Java 安装在 Program Files 中,我无法在 Bash 中设置路径,因为 Bash 无法处理 Program Files 中的空间。我可以在设置了 JAVA 路径的 CMD 上运行 selenium 服务器。问题仍然没有解决。

【问题讨论】:

    标签: selenium-webdriver protractor


    【解决方案1】:

    看来问题是我第一次没有正确安装。我应该从主目录运行webdriver-manager update。我使用webdriver-manger clean 清理并从项目的主目录project home> .\node_modules\protractor\bin\webdriver-manager start 重新运行webdriver-manger start。如果使用其他目录,安装可能会设置一些路径,这些路径会变得混乱。我还从项目的主目录>node .\node_modules\protractor\bin\protractor .\protractor.conf.js开始了量角器

    【讨论】:

    • 如果您计划使用directConnect 启动,您需要确保二进制文件存在于项目的本地node_modules/webdriver-manager/selenium 目录中。 Protractor 正在寻找一个名为node_modules/webdriver-manager/selenium/update-config.json 的文件。当您成功执行webdriver-manager update 时,将出现此文件。 Protractor 将找到您的 ChromeDriver 二进制文件(基于 update-config.json` 并且应该从那里开始工作。此外,除非您要使用独立的 selenium 服务器,否则您不必致电 webdriver-manager start。希望对您有所帮助。跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-07
    • 2016-01-05
    • 1970-01-01
    • 2019-11-25
    • 2017-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多