空手道赛跑者 -> 空手道罐子:命令行参数设置问题
Karate Runner -> karate jar : Command line args settings issue
我正在使用 Visual Studio 代码并且安装了 Karate Runner 插件。使用带有独立 jar (karate.jar) 的 karate-config.js。我试图在空手道赛跑者的VS代码中配置空手道赛跑者设置 - >空手道罐子:命令行参数为“java -Dkarate.config.dir=test/resources/ -cp karate.jar com.intuit.karate.Main" 但它会抛出异常
正在执行任务:java -Dkarate.config.dir=test/resources/ -cp karate.jar com.intuit.karate.Main "d:\GitHub\KarateTestFramework\test\features\script\all_users.feature:9 " <
错误:无法找到或加载主 class。config.dir=test.resources。
终端进程 "C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe -Command java -Dkarate.config.dir=test/resources/ -cp karate.jar com.intuit.karate.Main "d:\GitHub\KarateTestFramework\test\features\script\all_users.feature:9"" 以退出代码终止:1.
终端将被任务重复使用,按任意键关闭它。
此外,我已经尝试了 -Dkarate.config.dir=D:/GitHub/KarateTestFramework/test/resources 的完整路径,但也没有用。
请指导我解决这个问题。
这是一个错误。感谢报告:https://github.com/intuit/karate/issues/1330
现在请找到解决方法。空手道将在当前目录或类路径中查找 karate-config.js
。因此,如果您将命令更改为类似这样的内容(请尝试变体),它应该可以工作
-cp 'karate.jar;test/resources/'
@ChandramohanRamabadran,我试图在我的系统上复制这个问题。我相信这不是错误!
这是因为您的 VisualStudio 使用的是 PowerShell 而不是 CMD。我相信您可能错过了 change the default shell of VisualStudio after installing Karate. Try updating the default shell from PowerShell to CMD 的步骤;那你应该不错了。
但是,如果您仍想使用 PowerShell,请更新命令
java -Dkarate.config.dir=test/resources/ -cp karate.jar com.intuit.karate.Main
到
java `-Dkarate.config.dir`=test/resources/ -cp karate.jar com.intuit.karate.Main
有关此问题的更多背景信息:
PowerShell 有一个更标准的规则来解析与 CMD 不同的 system-properties 参数。在 PowerShell 命令中,参数名称始终以连字符开头。连字符告诉 PowerShell 命令中的项目是参数名称。
在这里,我们将参数作为 -Dkarate.config.dir
传递,PowerShell 将参数 name-tag 视为 -Dkarate
而不是 -Dkarate.config.dir
;因此错误。
我已将首选终端 shell 从 Powershell 更改为 VS 代码的默认命令,并按照下面列出的步骤进行操作
- 按 Ctrl + Shift + P 显示所有命令。
- 在显示的文本框中键入 shell 以筛选列表。
- Select 终端:Select 默认 Shell .
- 系统会提示您 Select 您的首选终端 shell,您可以稍后在设置中更改此设置,或者按照我们现在所做的相同过程进行操作。
我已经将 karate runner->karate jar:Command Line Args 设置更改为 java -Dkarate.config.dir=resources/ -cp karate.jar com.intuit.karate.Main
现在工作正常。
我正在使用 Visual Studio 代码并且安装了 Karate Runner 插件。使用带有独立 jar (karate.jar) 的 karate-config.js。我试图在空手道赛跑者的VS代码中配置空手道赛跑者设置 - >空手道罐子:命令行参数为“java -Dkarate.config.dir=test/resources/ -cp karate.jar com.intuit.karate.Main" 但它会抛出异常
正在执行任务:java -Dkarate.config.dir=test/resources/ -cp karate.jar com.intuit.karate.Main "d:\GitHub\KarateTestFramework\test\features\script\all_users.feature:9 " <
错误:无法找到或加载主 class。config.dir=test.resources。 终端进程 "C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe -Command java -Dkarate.config.dir=test/resources/ -cp karate.jar com.intuit.karate.Main "d:\GitHub\KarateTestFramework\test\features\script\all_users.feature:9"" 以退出代码终止:1.
终端将被任务重复使用,按任意键关闭它。
此外,我已经尝试了 -Dkarate.config.dir=D:/GitHub/KarateTestFramework/test/resources 的完整路径,但也没有用。
请指导我解决这个问题。
这是一个错误。感谢报告:https://github.com/intuit/karate/issues/1330
现在请找到解决方法。空手道将在当前目录或类路径中查找 karate-config.js
。因此,如果您将命令更改为类似这样的内容(请尝试变体),它应该可以工作
-cp 'karate.jar;test/resources/'
@ChandramohanRamabadran,我试图在我的系统上复制这个问题。我相信这不是错误!
这是因为您的 VisualStudio 使用的是 PowerShell 而不是 CMD。我相信您可能错过了 change the default shell of VisualStudio after installing Karate. Try updating the default shell from PowerShell to CMD 的步骤;那你应该不错了。
但是,如果您仍想使用 PowerShell,请更新命令
java -Dkarate.config.dir=test/resources/ -cp karate.jar com.intuit.karate.Main
到
java `-Dkarate.config.dir`=test/resources/ -cp karate.jar com.intuit.karate.Main
有关此问题的更多背景信息: PowerShell 有一个更标准的规则来解析与 CMD 不同的 system-properties 参数。在 PowerShell 命令中,参数名称始终以连字符开头。连字符告诉 PowerShell 命令中的项目是参数名称。
在这里,我们将参数作为 -Dkarate.config.dir
传递,PowerShell 将参数 name-tag 视为 -Dkarate
而不是 -Dkarate.config.dir
;因此错误。
我已将首选终端 shell 从 Powershell 更改为 VS 代码的默认命令,并按照下面列出的步骤进行操作
- 按 Ctrl + Shift + P 显示所有命令。
- 在显示的文本框中键入 shell 以筛选列表。
- Select 终端:Select 默认 Shell .
- 系统会提示您 Select 您的首选终端 shell,您可以稍后在设置中更改此设置,或者按照我们现在所做的相同过程进行操作。
我已经将 karate runner->karate jar:Command Line Args 设置更改为 java -Dkarate.config.dir=resources/ -cp karate.jar com.intuit.karate.Main
现在工作正常。