如何通过黄瓜空手道项目进行调试

时间:2017-09-18 04:40:37

标签: cucumber karate

我继承了Java / Maven / Cucumber项目。我对Cucumber很新。

在其中一个文件夹中,我有一个这样的类......

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插件,但无法弄清楚如何使用它。

问题二。

不使用自定义插件进行调试是否可以添加到场景中以打印额外的调试信息。

感谢

2 个答案:

答案 0 :(得分:2)

Cucumber Eclipse plugin为您提供了两件事:

  • IDE语法着色/格式化支持
  • 能够直接右键单击并直接运行功能而无需JUnit" runner"

空手道是幕后的Java,所以你可以调试和设置断点,但它可能不像你期望的那样无缝。在0.6.0中,您可以选择在每个测试步骤之前/之后运行的空手道代码中放置一个条件断点 - see screen-shot

因此,正确地说,打印到日志可能是处理复杂测试脚本的最有效方法。请参阅print关键字 - 这正是您所寻找的。

另外2点:

  • 可选的HTML报告包含所有HTTP request / response logs - 这非常适合对测试进行故障排除。
  • 我希望Karate UI(目前处于alpha版本)能够更快地变得稳定并成为调试的最佳选择,如果可以的话,请提交反馈并做出贡献。

答案 1 :(得分:2)

根据此处的documentation,目前,调试Karate Steps的最佳方法是使用Visual Studio Code开发测试,并使用 VS Code Karate Plugin 进行调试。

Visual Studio Code是免费的,基于开放源代码构建,并且可以在包括mac / linux和Windows在内的所有平台上运行。

Please note this

空手道UI已淘汰,并且从0.9.5开始不可用! 请改用VS代码调试支持。

根据彼得·托马斯(Peter Thomas)的评论,Eclipse / IntelliJ也可能支持调试,但我在那里找不到任何开发。