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,
|
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 |