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

如何在空手道框架中使用gherkin本地化?

曾洲
2023-03-14

英文版的情景工作完美。但是在俄文版本中,它看起来像是空手道FeatureParser不知道本地化的标记而失败了。以下是错误日志:

line 15:0 mismatched input '<EOF>' expecting {FEATURE_TAGS, FEATURE}
16:44:01.263 [main] ERROR com.intuit.karate.core.FeatureParser - syntax error: mismatched input '<EOF>' expecting {FEATURE_TAGS, FEATURE}
16:44:01.270 [main] ERROR com.intuit.karate.core.FeatureParser - not a valid feature file: src/test/java/ru.feature - mismatched input '<EOF>' expecting {FEATURE_TAGS, FEATURE}
Exception in thread "main" java.lang.RuntimeException: mismatched input '<EOF>' expecting {FEATURE_TAGS, FEATURE}
    at com.intuit.karate.core.FeatureParser.<init>(FeatureParser.java:150)
    at com.intuit.karate.core.FeatureParser.<init>(FeatureParser.java:126)
    at com.intuit.karate.core.FeatureParser.parse(FeatureParser.java:69)
    at com.intuit.karate.IdeUtils.exec(IdeUtils.java:61)
    at cucumber.api.cli.Main.main(Main.java:36)

特征文件的英文版本:

Feature: Services A and B
  Background:
    * url 'http://localhost:8080'

  Scenario: call service A
    Given path 'service-a'
    And method get
    Then status 200

  Scenario: call service B
    Given path 'service-b'
    And method get
    Then status 200

特写文件的俄文版本:

# language: ru
Функция: Сервисы А и Б
  Контекст:
    * адрес 'http://localhost:8080'

  Сценарий: вызов сервиса А
    Дано путь 'service-a'
    И метод get
    То статус 200

  Сценарий: вызов сервиса B
    Дано путь 'service-b'
    И метод get
    То статус 200

我该怎么做才能修好它?

共有1个答案

殷宇
2023-03-14

是的,空手道不支持本地化后,我们切换离开cucumber在版本0.9.0。

我们决定不支持本地化,因为空手道的目标与cucumber大相径庭。空手道更像是一种编程语言,在这里有更好的解释:https://stackoverflow.com/a/47799207/143475

所以就像Java或JavaScript不支持本地化关键字一样,Karate也不支持。到目前为止我们还没有收到任何投诉:)

 类似资料:
  • 我想使用“faker”库在JSON文件中生成假数据,如下所示。 空手道配置。js,我做了以下工作: 在sample.json: 但我在“空手道配置”中遇到了类似“找不到”require“关键字的错误。js' 请帮忙。

  • 我们有Web服务开发使用。NET和一些服务使用basicHttpBinding-和一些使用wsHttpBinding-。 通过使用空手道框架,使用basicHttpBinding的服务可以很好地执行,但不会执行wsHttpBinding。正在获取响应代码415。 通过在SoapUI端执行以下操作,使用wsHttpBind的相同服务在另一个工具(如SoapUI)中执行得很好。 选中启用WS-A寻址

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

  • 我在空手道测试中使用并行执行。我试图在文件夹中生成一个cucumber.json文件。使用当前的设置,我在surefire-reports文件夹中有不同的json和xml文件。有没有一种方法可以生成一个带有特性结果的json文件?

  • 问题陈述:每个服务都有一个单独的存储库。跨几个服务存储库使用公共框架的最佳方式是什么? 我们试图使用“空手道”创建一个应用编程接口测试自动化框架。在这里,我们希望创建一个框架(它可以被分发(例如:jar)),这样它就可以在所有的微服务项目存储库中使用。

  • 我需要将纪元时间转换为人类可读的日期 时间戳值为:='1685595600' 需要像这样转换上面的时间戳 日期=01月=06年=2023年 应该怎么做?