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 để tải nhạc cục bộ lên Google Play Music (Tài khoản miễn phí)?

Làm cách nào để tải nhạc cục bộ lên Google Play Music (Tài khoản miễn phí)?

Google Play Music cho phép bạn giữ tới 50.000 bài hát miễn phí. Và điều tốt, bạn có thể tải nhạc cục bộ lên thư viện Google Play Music và nghe bất cứ khi nào bạn muốn từ bất kỳ thiết bị nào được kết nối với tài khoản Google Play Music. Cho dù các bài hát từ iTunes, Windows Media Player hoặc từ các thư ...

TiếP Theo Bài ViếT

12 công cụ WiFi Android tốt nhất và Mạng tìm kiếm & điểm truy cập Android

12 công cụ WiFi Android tốt nhất và Mạng tìm kiếm & điểm truy cập Android

Mạng WiFi có thể không thể cung cấp hiệu suất lý tưởng mọi lúc mà bạn mong đợi. Có rất nhiều ứng dụng Android để đo cường độ WiFi, Kiểm tra tốc độ DSL, Phân tích mạng, Phân tích quang phổ, v.v. Những ứng dụng Trình quản lý không dây Android này có sẵn miễn phí từ Google Play Store. Chúng tôi cũng đã liệt kê các ứng dụng Điểm truy cập WiFi, những ứng dụng này có...