如何通过黄瓜空手道项目进行调试
How to debug through a cucumber karate project
我继承了一个Java / Maven / Cucumber 项目。我是 Cucumber 的新手。
在其中一个文件夹中,我有一个这样的 class...
import com.intuit.karate.junit4.Karate;
import org.junit.runner.RunWith;
@RunWith(Karate.class)
public class RoadsRunner {
}
然后在同一个子目录/包中我有一个 .feature 文件。
有很多场景。
Feature: Check transaction
Background:
* url apiHost + '/api/v1'
* configure headers = {'X-TransactionID': '#(Math.random().toString())' }
Scenario: Get Classes
# get classes
Given path '/myUrl/classes'
And param processName = 'myProcess'
When method get
Then status 200
问题一
我正在使用 Eclipse。有没有一种方法可以像调试 Java 应用程序一样通过测试进行调试?
我自己下载了 Cucumber Eclipse 插件,但不太清楚如何使用它。
问题二
在不使用自定义插件进行调试的情况下,是否有任何我可以添加到场景中以打印额外调试信息的内容。
谢谢
Cucumber Eclipse plugin 给你两件事:
- IDE 语法着色/格式支持
- 能够在没有 JUnit 的情况下直接右键单击和 运行 功能 "runner"
空手道 Java 在幕后进行,因此您可以调试和设置断点,但它可能不像您预期的那样无缝。在 0.6.0 中,您可以选择在每个测试步骤之前/之后 运行s 的空手道代码中放置一个条件断点 - see screen-shot.
因此,正如您所说的那样,打印到日志可能是处理复杂测试脚本的最有效方法。请参考 print
关键字 - 这正是您要查找的内容。
还有2分:
- 可选的 HTML 报告包括所有 HTTP request / response logs - 这对于测试故障排除非常有用。
- 我希望 Karate UI(目前处于 alpha 阶段)尽快变得稳定并成为调试的最佳选择,如果可以的话请提交反馈并做出贡献。
编辑:我们现在有了 Visual Studio 代码 IDE 支持和第一个 class 调试支持:https://github.com/intuit/karate/wiki/IDE-Support#vs-code-karate-plugin
根据documentation here, At this moment best way to debug Karate Steps is using Visual Studio Code for developing tests and VS Code Karate Plugin进行调试。
Visual Studio 代码是免费的,建立在开源基础上,可在所有平台上运行,包括 mac/linux 和 windows。
The Karate UI has been retired and is not available in 0.9.5 onwards !
Use the VS Code Debug Support instead.
根据 Peter Thomas 的评论,Eclipse/IntelliJ 也可能支持调试,但我在那里找不到任何开发。
我继承了一个Java / Maven / Cucumber 项目。我是 Cucumber 的新手。
在其中一个文件夹中,我有一个这样的 class...
import com.intuit.karate.junit4.Karate;
import org.junit.runner.RunWith;
@RunWith(Karate.class)
public class RoadsRunner {
}
然后在同一个子目录/包中我有一个 .feature 文件。 有很多场景。
Feature: Check transaction
Background:
* url apiHost + '/api/v1'
* configure headers = {'X-TransactionID': '#(Math.random().toString())' }
Scenario: Get Classes
# get classes
Given path '/myUrl/classes'
And param processName = 'myProcess'
When method get
Then status 200
问题一
我正在使用 Eclipse。有没有一种方法可以像调试 Java 应用程序一样通过测试进行调试?
我自己下载了 Cucumber Eclipse 插件,但不太清楚如何使用它。
问题二
在不使用自定义插件进行调试的情况下,是否有任何我可以添加到场景中以打印额外调试信息的内容。
谢谢
Cucumber Eclipse plugin 给你两件事:
- IDE 语法着色/格式支持
- 能够在没有 JUnit 的情况下直接右键单击和 运行 功能 "runner"
空手道 Java 在幕后进行,因此您可以调试和设置断点,但它可能不像您预期的那样无缝。在 0.6.0 中,您可以选择在每个测试步骤之前/之后 运行s 的空手道代码中放置一个条件断点 - see screen-shot.
因此,正如您所说的那样,打印到日志可能是处理复杂测试脚本的最有效方法。请参考 print
关键字 - 这正是您要查找的内容。
还有2分:
- 可选的 HTML 报告包括所有 HTTP request / response logs - 这对于测试故障排除非常有用。
- 我希望 Karate UI(目前处于 alpha 阶段)尽快变得稳定并成为调试的最佳选择,如果可以的话请提交反馈并做出贡献。
编辑:我们现在有了 Visual Studio 代码 IDE 支持和第一个 class 调试支持:https://github.com/intuit/karate/wiki/IDE-Support#vs-code-karate-plugin
根据documentation here, At this moment best way to debug Karate Steps is using Visual Studio Code for developing tests and VS Code Karate Plugin进行调试。
Visual Studio 代码是免费的,建立在开源基础上,可在所有平台上运行,包括 mac/linux 和 windows。
The Karate UI has been retired and is not available in 0.9.5 onwards ! Use the VS Code Debug Support instead.
根据 Peter Thomas 的评论,Eclipse/IntelliJ 也可能支持调试,但我在那里找不到任何开发。