当前位置: 首页 > 知识库问答 >
问题:

空手道跑步者->空手道罐子:命令行参数设置问题

席兴平
2023-03-14

我使用Visual Studio代码和空手道跑步者插件安装。使用karate-config.js与独立罐(karate.jar)。我试图在空手道跑步者的VS代码中配置空手道跑步者设置-

执行任务:java-Dkarate.config.dir=test/Resources/-cpkarate.jarcom.intuit.karate.Main"d:\GitHub\KarateTestFramework\test\特性\脚本\all_users.feature: 9"

错误:无法找到或加载主类。配置。dir=测试。资源。终端进程“C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe-Command java-Dkarate.config.dir=test/resources/-cp karate.jar com.intuit.karate.Main”d:\GitHub\karatestframework\test\features\script\all\u用户。功能:9“”,终止时退出代码:1。

终端将被任务重复使用,按任意键关闭它。

此外,我还尝试了-Dkarate的完整路径。配置。dir=D:/GitHub/karatestframework/test/resources,但也不起作用。

请指导我解决这个问题。

共有3个答案

胡沈义
2023-03-14

我已将首选终端外壳从Powershell更改为command作为VS代码的默认命令,并遵循以下列出的步骤

  1. 按Ctrl-Shift-P以显示所有命令
  2. 在显示的文本框中键入shell以筛选列表
  3. 选择端子:选择默认外壳
  4. 系统将提示您选择首选的端子外壳,您可以稍后在设置中对此进行更改,或者按照与我们现在相同的过程进行操作

我换了空手道运动员-

现在它可以正常工作了。

华旭
2023-03-14

这是一个错误。感谢您的报道:https://github.com/intuit/karate/issues/1330

现在,请找到一个解决办法。空手道将查找空手道配置。当前目录或类路径中的js。因此,如果您将命令更改为类似这样的内容(请尝试变体),它应该可以工作

-cp 'karate.jar;test/resources/'
益思博
2023-03-14

@ChandramohanRamabadran,我试图在我的系统上复制这个问题。我相信这不是虫子!

这是因为VisualStudio使用的是PowerShell而不是CMD。我相信您可能错过了在安装空手道后更改VisualStudio默认shell的步骤。尝试将默认shell从PowerShell更新为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的系统属性参数。在PowerShell命令中,参数名称始终以连字符开头。连字符告诉PowerShell命令中的项是参数名。

这里,我们将参数传递为-Dkarate。配置。dir,PowerShell将参数名称标记视为-Dkarate,而不是-Dkarate。配置。目录;因此出现了错误。

 类似资料:
  • 我使用vscode与空手道跑步者空手道独立(karate.jar0.9.6)。我正在努力调整空手道日志设置。 我做了回写测试。xml在几个文件夹中(连同karate.jar和我的功能文件,在src/test/resource中)。我还尝试通过修补karate Runner›karate jar:Command Line Args将logback-test.xml添加到java类路径,但到目前为止没

  • 抱歉提出了一个天真的问题:在解释Junit5测试配置的示例文档中,对“示例”和“标记”的引用是什么?这些特征是什么? 谢谢

  • 我正在尝试使用空手道进行e2e测试,并已从最低设置开始。我想在用于测试,但karate报告该文件不是js函数,因此测试无法获取配置: 这是我的: 这是我的测试: 这是测试运行程序:

  • 我正在尝试传递一些来自gradle的cmd行参数,以便在karate-config.js中使用。cmd: 我查看了https://github.com/intuit/karate#命令行,并按照类似的步骤将其放入build.gradle中: 现在在karate-config.js中,我有如下代码: 环境var()变量获得正确的值,但模块var()始终显示为未定义。有什么关于如何解决这个问题的建议吗

  • 我已经从空手道的gitlab主页(0.9.6版本)下载了zip文件(而不是回购克隆),并用java推荐的东西配置了VS Code,但有些导入失败了... 这个来自DemoLogModifier。尝试时使用java 人口统计学修改器。JAVA 带着错误 当使用Intellij这些错误不存在 我安装了19个扩展 Cloudfoundry和YML支持 这是我的设置json 这是我的. zschc 有线索

  • 我95%的自动化框架是在空手道,工作得很好。我们需要检查应用程序日志中显示的中间结果的功能很少(不在Json响应中)。我写了一个外壳脚本,它在从邮递员手动发送请求后验证Linux机器上的应用程序日志。我使用eclipse的JSCH库调用这个脚本。 有没有什么方法可以让我从空手道发送请求,然后调用我的JSCH类进行验证,这样就可以避免手动发送请求的步骤? 谢谢,阿比