InstrumentationProtoResultParser

public class InstrumentationProtoResultParser
extends Object implements IInstrumentationResultParser

java.lang.Object
   ↳ com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser


Phân tích cú pháp kết quả "chế độ đầu ra protoStd" của một kiểm thử đo lường chạy từ shell và thông báo kết quả cho ITestRunListener.

Lệnh đo lường am có tuỳ chọn "-m" sẽ xuất trạng thái thực thi kiểm thử ở định dạng protobuf nhị phân một cách tăng dần. Thông báo protobuf đầu ra là InstrumentationData.Session, có hai trường: 1) trường lặp lại của InstrumentationData.TestStatus, 2) InstrumentationData.SessionStatus. Lệnh đo lường am sẽ xuất ra thông báo trạng thái kiểm thử trước/sau mỗi lần thực thi kiểm thử. addOutput(byte, int, int) được gọi bằng đối số data là các byte được chuyển đổi tuần tự của TestStatus(es). Khi tất cả các bài kiểm thử hoàn tất, lệnh này sẽ xuất ra SessionStatus.

Hãy xem https://cs.android.com/android/platform/superproject/+/master:frameworks/base/cmds/am/proto/instrumentation_data.proto để biết định nghĩa đầy đủ về protobuf.

InstrumentationProtoResultParser là một máy trạng thái và các trạng thái được xác định trong ERROR(InstrumentationProtoResultParserState/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState InstrumentationProtoResultParserState). Trạng thái bắt đầu bằng ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#NOT_STARTED). Khi thấy trạng thái của trường hợp kiểm thử đầu tiên, trình kiểm thử sẽ chuyển sang ERROR(InstrumentationProtoResultParserState.RUNNING/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#RUNNING InstrumentationProtoResultParserState.RUNNING). Trạng thái sẽ thay đổi thành ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#FINISHED) nếu tất cả các kiểm thử đều hoàn tất hoặc ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#CANCELLED) nếu bạn yêu cầu bằng cách gọi cancel().

Mỗi khi có trạng thái kiểm thử mới, trạng thái đó sẽ được thông báo cho trình nghe đã đăng ký.

Tóm tắt

Hàm khởi tạo công khai

InstrumentationProtoResultParser(String runName, listeners)

Tạo InstrumentationProtoResultParser.

Phương thức công khai

void addOutput(byte[] data, int offset, int length)

Phương thức này được gọi mỗi khi có dữ liệu mới.

void cancel()
void flush()
void handleTestRunFailed(String errorMsg)
boolean isCancelled()

Hàm khởi tạo công khai

InstrumentationProtoResultParser

public InstrumentationProtoResultParser (String runName, 
                 listeners)

Tạo InstrumentationProtoResultParser.

Tham số
runName String: tên lần chạy kiểm thử để cung cấp cho ITestRunListener.testRunStarted

listeners : được thông báo về kết quả kiểm thử khi kiểm thử đang thực thi

Phương thức công khai

addOutput

public void addOutput (byte[] data, 
                int offset, 
                int length)

Phương thức này được gọi mỗi khi có dữ liệu mới.

Tham số
data byte: dữ liệu tuần tự của thông báo InstrumentationData.Session. Nếu data là một đoạn chưa hoàn chỉnh, thì các đoạn này sẽ được thêm vào vùng đệm nội bộ và sẽ được xử lý trong lệnh gọi addOutput(byte, int, int) tiếp theo.

offset int: độ dời của dữ liệu mới được lưu trữ trong data

length int: số byte của dữ liệu mới trong data cần được xử lý.

hủy

public void cancel ()

xả

public void flush ()

handleTestRunFailed

public void handleTestRunFailed (String errorMsg)

Tham số
errorMsg String

isCancelled

public boolean isCancelled ()

Giá trị trả về
boolean