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.