Im trying to run karate Api test code but During parallel run, Test no getting picked by KarateOptions. Cucumber Report too not getting generated.
package com.karate.test;
@KarateOptions(features="classpath:com/com/karate/test/workflow/",tags = "~@ignore")
)
public class KarateTest {
@Test
public void testParallel() {
System.setProperty("karate.env", "qa1");
Results results = Runner.parallel(getClass(), 2));
generateReport(results.getReportDir());
assertTrue(results.getErrorMessages(), results.getFailCount() == 0);
}
public static void generateReport(String karateOutputPath) {
Collection<File> jsonFiles = FileUtils.listFiles(new File(karateOutputPath), new String[] {"json"}, true);
List<String> jsonPaths = new ArrayList(jsonFiles.size());
jsonFiles.forEach(file -> jsonPaths.add(file.getAbsolutePath()));
Configuration config = new Configuration(new File("target"), "qa1");
ReportBuilder reportBuilder = new ReportBuilder(jsonPaths, config);
reportBuilder.generateReports();
}
Gradle configuration :
test {
def env = System.properties.getProperty("env")
systemProperty "karate.env", env
systemProperty "karate.options", "--tags " + System.properties.getProperty("tags")
outputs.upToDateWhen { false }
}
Dependencies in Gradle :
dependencies {
testCompile 'com.intuit.karate:karate-apache:0.7.0'
testCompile 'com.intuit.karate:karate-core:0.7.0'
testCompile 'com.jayway.jsonpath:json-path:2.1.0'
testCompile 'org.apache.httpcomponents:httpclient:4.5.5'
testCompile 'org.apache.httpcomponents:httpcore:4.4.9'
testCompile 'commons-codec:commons-codec:1.10'
testCompile 'org.slf4j:jcl-over-slf4j:1.7.25'
testCompile 'org.slf4j:slf4j-api:1.7.25'
testCompile 'com.intuit.karate:karate-junit4:0.9.2'
testCompile 'org.hamcrest:hamcrest-core:1.3'
testCompile 'net.masterthought:cucumber-reporting:4.6.0'
compile 'org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M3'
compile 'org.apache.maven.surefire:surefire:3.0.0-M3'
compile group: 'org.apache.geronimo.specs', name: 'geronimo-jms_1.1_spec', version: '1.1.1'
}