I need to parse .feature files and produce Json data. I am currently able to read the steps using regular expressions, But i want to parse entire feature file.
Path path= Paths.get("path to feature file").toAbsolutePath();
try {
File file = new File(path.toString())
try {
List<String> data = Files.readAllLines(file);
data.forEach(line -> {
Matcher stepMatcher = Pattern.compile("\\b(Given|When|Then|And|But)(.*)").matcher(line);
if (stepMatcher.find()) {
System.out.println(line);
}
});
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
I got the answer in google forms. the Answer is
public void readFeatureFile() {
Path fpath= Paths.get("path to file").toAbsolutePath();
String path = fpath.toString();
String gherkin;
try {
gherkin = FixJava.readReader(new InputStreamReader(new FileInputStream(path), "UTF-8"));
System.out.println("gherkin...\n" + gherkin);
StringBuilder json = new StringBuilder();
System.out.println("json: '" + json + "'");
JSONFormatter formatter = new JSONFormatter(json);
System.out.println("formatter: " + formatter.toString());
Parser parser = new Parser(formatter);
System.out.println("parser: " + parser.toString());
parser.parse(gherkin, path, 0);
System.out.println("json: '" + json + "'");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (RuntimeException e) {
e.printStackTrace();
}
}
check out this url for the discussion discussion link