【发布时间】: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