Javascript 如果功能文件中包含故障,则跳过该功能文件
因此,如果我总共有4个测试,如果第一个测试失败,我想在第一个测试中快速失败,然后我想继续运行其他3个测试/功能文件 它现在所做的,我不喜欢的是,一旦一个测试失败,它就会失败,并且不会运行任何其他功能文件 有什么想法吗 我尝试了以下几种选择:Javascript 如果功能文件中包含故障,则跳过该功能文件,javascript,selenium,protractor,cucumber,cucumberjs,Javascript,Selenium,Protractor,Cucumber,Cucumberjs,因此,如果我总共有4个测试,如果第一个测试失败,我想在第一个测试中快速失败,然后我想继续运行其他3个测试/功能文件 它现在所做的,我不喜欢的是,一旦一个测试失败,它就会失败,并且不会运行任何其他功能文件 有什么想法吗 我尝试了以下几种选择: 'fail-fast': true 但是,如果出现故障,将停止执行。如果要跳过功能文件中的其余测试(一旦功能文件中的测试失败),则需要执行以下操作: 在每个要素文件的顶部,添加一个标签,如@feature\uu 在之前和之后添加一个钩子来跟踪标签并确定功能
'fail-fast': true
但是,如果出现故障,将停止执行。如果要跳过功能文件中的其余测试(一旦功能文件中的测试失败),则需要执行以下操作:
@feature\uu
//用于跟踪所有失败场景的位置。
const failedFeatures=[];
//使用pickle对象标识要素标记。
函数getFeature(pickle){
返回pickle.tags.map(i=>i.name).filter(i=>i.indexOf('@feature'==0)[0];
}
//确定功能是否失败,如果失败,则跳过此测试。
Before(函数({pickle}){
const feature=getFeature(pickle);
if(failedFeatures.indexOf(feature)>=0){
返回“跳过”;
}
});
//如果测试失败,请记录此功能也失败。
After(函数({pickle,result}){
const feature=getFeature(pickle);
如果(result.status===“失败”){
失败的功能。推送(功能);
}
});
现场演示:我这里有几个问题要在您的帖子中更清楚地说明:1)在第一次测试失败后,控制台中显示的与其他3个测试/功能文件相关的详细信息是什么?2) 你们在用@After和driver.quit()吗?。