Một cách tiếp cận khá để phân tích tệp tính năng Gherkin thành JSON



Gherkin là định dạng tiếng Anh đơn giản có thể hiểu Cucumber để chạy thử nghiệm tự động hóa. Ngôn ngữ tệp tính năng Gherkin là ngôn ngữ cụ thể miền có thể đọc được.

Mã này là để chuyển đổi tệp tính năng Gherkin của bạn sang định dạng JSON dựa trên khung công thức JSON Formatter.

Gherkin để JSON Parser chính

// Tệp tính năng Gherkin sang lớp chính được chuyển đổi JSON

lớp học công cộng GToJRun {

// Ở đây đặt đường dẫn Gherkin để tìm nạp tệp tính năng và đường dẫn tệp JSON thành

// ghi vào định dạng JSON

Chuỗi tĩnh riêng tính năngPath = Thời gian c: \ Json \ login.feature ';

Chuỗi tĩnh riêng jasonPath = Thời gian c: \ Json \ login.json ';

// Đặt định dạng đẹp / xấu cho đầu ra JSON. Theo mặc định, nó là đẹp

static GtoJCore testG = new GtoJCore (Bạn khá đẹp);

public static void main (String [] args) {

testG.gherkinTojson (FeaturePath, jasonPath);

}

}

Lớp lõi dựa trên khung công thức định dạng JSON. Bạn có thể nhận được thời gian chuyển đổi nếu bạn muốn kiểm tra tổng thời gian xử lý cho tệp tính năng lớn hơn.

Gherkin để JSON Parser Core

nhập java.io.FileInputStream;

nhập java.io.FileNotFoundException;

nhập java.io.FileWriter;

nhập java.io.IOException;

nhập java.io.InputStreamReader;

nhập java.io.UnsupportedEncodingException;

nhập gherkin.formatter.JSONFormatter;

nhập gherkin.formatter.JSONPrettyFormatter;

nhập gherkin.parser.Parser;

nhập khẩu gherkin.util.FixJava;

// Tập tin lõi của trình phân tích cú pháp Gherkin để Json.

lớp công khai GtoJCore {

định dạng chuỗi riêng;

// Để có được tổng thời gian chạy (tùy chọn)

dài startTime = System.c currentTimeMillis ();

công khai GtoJCore (Chuỗi outFormat) {

this .format = outFormat;

}

chuỗi công khai getOutFormat () {

định dạng trả lại;

}

công khai void gherkinTojson (Chuỗi fPath, Chuỗi jPath) {

// Xác định tệp Feature và đường dẫn tệp JSON.

Chuỗi gherkin = null;

thử {

gherkin = FixJava.readReader (InputStreamReader mới (

FileInputStream mới (fPath), UT UTF-8));

} bắt (FileNotFoundException e) {

System.out.println (Không tìm thấy tập tin tính năng trực tuyến);

// e.printStackTrace ();

} Catch (UnsupportedEncodingException e) {

e.printStackTrace ();

} bắt (RuntimeException e) {

e.printStackTrace ();

}

StringBuilder json = new StringBuilder ();

Trình định dạng JSONFormatter;

// lựa chọn đẹp hoặc xấu, đẹp theo mặc định

if (format.equalsIgnoreCase (Nhật Bản xấu xí)) {

formatter = new JSONFormatter (json); // không đẹp

} khác {

formatter = new JSONPrettyFormatter (json); // khá

}

Trình phân tích cú pháp = trình phân tích cú pháp mới (trình định dạng);

trình phân tích cú pháp.parse (gherkin, fPath, 0);

formatter.done ();

formatter.c Đóng ();

System.out.println (đầu ra json: nọ + json + '' ');

// Cuối cùng xả và đóng

thử {

FileWriter file = new FileWriter (jPath);

file.write (json.toString ());

file.flush ();

file.c Đóng ();

} bắt (IOException e) {

e.printStackTrace ();

}

long endTime = System.c currentTimeMillis ();

//không bắt buộc

System.out.println (Số n Tổng thời gian chạy: Hay + (endTime - startTime)

+ Mili giây thứ hai triệu);

}

}

Điều này cung cấp cho bạn một định dạng JSON đẹp hoặc xấu mà bạn có thể chọn từ Lớp chính. Bạn có thể xác định đường dẫn tệp cho cả tệp tính năng để đọc và tệp JSON để viết với tùy chọn chọn định dạng đầu ra đẹp hoặc xấu.

Bài TrướC

Làm cách nào để chặn trang web trên Google WiFi Router?

Làm cách nào để chặn trang web trên Google WiFi Router?

Facebook Twitter Pinterest WhatsApp Điện báo Google WiFi sắp ra mắt với vô số tính năng thú vị với hiệu suất mạng tốt nhất. Một trong những tính năng tuyệt vời tôi thích với bộ định tuyến Google WiFi của mình là tùy chọn chặn các trang web. Google đang sử dụng công nghệ tìm kiếm an toàn để tự động c...

TiếP Theo Bài ViếT

Ứng dụng Roku tốt nhất để phát trực tuyến phim từ Cloud sang Roku.

Ứng dụng Roku tốt nhất để phát trực tuyến phim từ Cloud sang Roku.

Ứng dụng Cloud Movie cho phép bạn truyền phát phim từ bộ lưu trữ đám mây sang TV màn hình lớn với thiết bị phát trực tuyến. Roku là một trong những thiết bị phát trực tuyến tốt nhất có hàng tấn ứng dụng và một vài đám mây như ứng dụng phát trực tuyến Dropbox để phát trực tuyến từ Roku và các thiết bị phát trực tuyến khác. Roku có thể truyền phát video và các tệp phương tiện khác từ Dropbox hoặc các dịch vụ đám mây khác...