【问题标题】:How to configure karate afterScenario in karate-config.js file如何在 karate-config.js 文件中配置空手道 afterScenario
【发布时间】:2020-04-20 17:22:35
【问题描述】:

我在功能文件中使用 Karate '* configure afterScenario = ' 并且 成功获得结果 并且还能够进行数据库调用。如何在 Karate-config.js 中实现相同的功能?

注意:我也有一个 Java 类调用。

有这样的实现吗?

功能文件中使用的代码

Background:
* def inFluxDb = Java.type('aPITests.InfluxDBCall');
* def dbCDB = new inFluxDb();
* configure afterScenario = 
"""
function(){
  var info = karate.info; 
  karate.log('after', info.scenarioType + ':', info.scenarioName);
  karate.log('after', info.scenarioType + ':', info.errorMessage);
  karate.log('after', info.scenarioType + ':', info.featureDir);
  karate.log('after', info.scenarioType + ':', info.featureFileName);
  karate.log('after', info.scenarioType + ':', info.scenarioDescription);
  var featurenameupdate = info.featureFileName.substring(0, info.featureFileName.length-8);
  var status="Fail";
  if(!info.errorMessage){
  status="Pass";
  }
  dbCDB.DBConnection( "http://localhost:8086", "root", "root");
  dbCDB.DBwrite( featurenameupdate, info.scenarioName, info.errorMessage, status );
  dbCDB.connectionClose();
}
"""

更新:使用 karate.configure 后的问题

场景:我有两个功能文件

Feature1: API) 包含@smoke @test 标签

Feature2: UI) 包含@dropdown @Angular

我的* def configure afterScenario被声明到 Feature2 文件中 仅执行 @smoke 测试时,我的 karate.configure('afterScenario', 'UI.feature'); 未加载。

这是否符合预期,否则我需要更新任何内容?

【问题讨论】:

    标签: karate


    【解决方案1】:

    使用karate.configure() API 将任何功能configure 步骤移动到 JS 配置中。

    karate.configure('afterScenario', read('some.feature'));
    

    除非绝对必要,否则我不建议“膨胀”您的 karate-config.js,因为它会为每个 ScenarioExamples 行调用。考虑改用ExecutionHook

    【讨论】:

    • 使用 karate.configure('afterScenario', read('some.feature'));我有一个担心。更新为原帖。请检查“使用 karate.configure 后的关注”,并让我知道您的宝贵意见。
    • @SandeepPadala 对不起,我不明白。问一个新问题。如果不清楚,则必须遵循此过程:github.com/intuit/karate/wiki/How-to-Submit-an-Issue
    • 抱歉 Peter Thomas,我问我是否从 karate-config.js 中的 some.feature 加载我的 afterScenario 并在执行我的测试时(使用不包含 some.feature 场景文件的特定标签标签)。执行时无法从 some.feature 加载 afterScenario。希望你明白了。
    • @SandeepPadala 当然如果afterScenario 没有配置,它不会工作,我可能会遗漏一些东西,你现在知道该怎么做了:)
    猜你喜欢
    • 2019-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多