"Error: not found: java" when running webdriver.io test
"Error: not found: java" when running webdriver.io test
我正在尝试从 VS Code 调试器 运行 webdriver.io test suite,但失败并显示错误消息:
ERROR @wdio/cli:utils: A service failed in the 'onPrepare' hook
Error: not found: java
at getNotFoundError (/Users/andrew/projects/rod-licensing-tests/packages/frontend-acceptance-tests/node_modules/selenium-standalone/node_modules/which/which.js:10:17)
我该如何解决这个问题?通过查看网络上的类似问题,我尝试了以下相同的结果:
npm install
- 正在使用
npm install java
安装 Java
- 使用
./node_modules/.bin/selenium-standalone install
安装 selenium-standalone
- 正在向我的
launch.json
配置添加环境变量:"JAVA_HOME": "/usr/libexec/java_home"
- 正在将我的 Mac 上的 Java 更新为 Java 8 通过系统偏好设置更新 271
测试 运行 使用 Docker 成功完成,但理想情况下我也希望 运行 从 IDE 进行此测试,以便我可以快速启动和调试他们。此外,我的同事可以 运行 使用 IntelliJ IDE Ultimate 中的配置进行相同的测试,但我觉得这在 VS Code 中也应该可行。
这是我的 launch.json
文件的当前内容:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch via NPM",
"type": "pwa-node",
"args": [
"conf/local.conf.js",
"--logLevel trace"
],
"cwd": "${workspaceFolder}/packages/frontend-acceptance-tests",
"env": {
"JAVA_HOME": "/usr/libexec/java_home",
"SERVICE_URL": "[redacted]",
"OAUTH_AUTHORITY_HOST_URL": "[redacted]",
"OAUTH_TENANT": "[redacted]",
"OAUTH_CLIENT_ID": "[redacted]",
"OAUTH_CLIENT_SECRET": "[redacted]",
"OAUTH_SCOPE": "[redacted]",
"DYNAMICS_API_PATH": "[redacted]",
"DYNAMICS_API_VERSION": "9.1"
},
"request": "launch",
"runtimeExecutable": "${workspaceFolder}/packages/frontend-acceptance-tests/node_modules/.bin/wdio",
"runtimeVersion": "14.13.0"
}
]
}
我对 Node.JS 还很陌生,所以仍在学习它是如何组合在一起的。任何建议表示赞赏!
您通常需要使用 Java 版本 1.8 配置您的项目 sdk,可以从此 link:
安装
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
但我看你已经试过了。也许您需要将 selenium jar 文件添加到项目的依赖项中。
如果我们使用 selenium-standalone-service 进行 运行 测试,则需要安装 JAVA-JDK。 package.json
中也应提供以下依赖项
{
"devDependencies": {
"@wdio/selenium-standalone-service": "^6.6.1"
}
}
或
>npm install @wdio/selenium-standalone-service --save-dev
用于VScode调试
根据 documentation we will need JavaScript Debugger (Nightly) 启用。
示例 .vscode/launch.json 应该看起来像
{
"name": "run select spec",
"type": "node",
"request": "launch",
"args": ["wdio.conf.js", "--spec", "${file}"],
"cwd": "${workspaceFolder}",
"autoAttachChildProcesses": true,
"program": "${workspaceRoot}/node_modules/@wdio/cli/bin/wdio.js",
"console": "integratedTerminal"
},
示例:launch.json
我正在尝试从 VS Code 调试器 运行 webdriver.io test suite,但失败并显示错误消息:
ERROR @wdio/cli:utils: A service failed in the 'onPrepare' hook
Error: not found: java
at getNotFoundError (/Users/andrew/projects/rod-licensing-tests/packages/frontend-acceptance-tests/node_modules/selenium-standalone/node_modules/which/which.js:10:17)
我该如何解决这个问题?通过查看网络上的类似问题,我尝试了以下相同的结果:
npm install
- 正在使用
npm install java
安装 Java
- 使用
./node_modules/.bin/selenium-standalone install
安装 selenium-standalone
- 正在向我的
launch.json
配置添加环境变量:"JAVA_HOME": "/usr/libexec/java_home"
- 正在将我的 Mac 上的 Java 更新为 Java 8 通过系统偏好设置更新 271
测试 运行 使用 Docker 成功完成,但理想情况下我也希望 运行 从 IDE 进行此测试,以便我可以快速启动和调试他们。此外,我的同事可以 运行 使用 IntelliJ IDE Ultimate 中的配置进行相同的测试,但我觉得这在 VS Code 中也应该可行。
这是我的 launch.json
文件的当前内容:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch via NPM",
"type": "pwa-node",
"args": [
"conf/local.conf.js",
"--logLevel trace"
],
"cwd": "${workspaceFolder}/packages/frontend-acceptance-tests",
"env": {
"JAVA_HOME": "/usr/libexec/java_home",
"SERVICE_URL": "[redacted]",
"OAUTH_AUTHORITY_HOST_URL": "[redacted]",
"OAUTH_TENANT": "[redacted]",
"OAUTH_CLIENT_ID": "[redacted]",
"OAUTH_CLIENT_SECRET": "[redacted]",
"OAUTH_SCOPE": "[redacted]",
"DYNAMICS_API_PATH": "[redacted]",
"DYNAMICS_API_VERSION": "9.1"
},
"request": "launch",
"runtimeExecutable": "${workspaceFolder}/packages/frontend-acceptance-tests/node_modules/.bin/wdio",
"runtimeVersion": "14.13.0"
}
]
}
我对 Node.JS 还很陌生,所以仍在学习它是如何组合在一起的。任何建议表示赞赏!
您通常需要使用 Java 版本 1.8 配置您的项目 sdk,可以从此 link:
安装https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
但我看你已经试过了。也许您需要将 selenium jar 文件添加到项目的依赖项中。
如果我们使用 selenium-standalone-service 进行 运行 测试,则需要安装 JAVA-JDK。 package.json
中也应提供以下依赖项{
"devDependencies": {
"@wdio/selenium-standalone-service": "^6.6.1"
}
}
或
>npm install @wdio/selenium-standalone-service --save-dev
用于VScode调试
根据 documentation we will need JavaScript Debugger (Nightly) 启用。
示例 .vscode/launch.json 应该看起来像
{
"name": "run select spec",
"type": "node",
"request": "launch",
"args": ["wdio.conf.js", "--spec", "${file}"],
"cwd": "${workspaceFolder}",
"autoAttachChildProcesses": true,
"program": "${workspaceRoot}/node_modules/@wdio/cli/bin/wdio.js",
"console": "integratedTerminal"
},
示例:launch.json