Closed swtmrs closed 1 year ago
Executing tests on API 31 using am instrument
produces output that breaks previous conventions:
INSTRUMENTATION_STATUS: class=com.example.MainActivityAllureTest
INSTRUMENTATION_STATUS: current=1
INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
INSTRUMENTATION_STATUS: numtests=1
INSTRUMENTATION_STATUS: stream=
com.example.MainActivityAllureTest:
INSTRUMENTATION_STATUS: test=testText
INSTRUMENTATION_STATUS_CODE: 1
s_glBindAttribLocation: bind attrib 0 name position
s_glBindAttribLocation: bind attrib 1 name localCoord
INSTRUMENTATION_STATUS: class=com.example.MainActivityAllureTest
INSTRUMENTATION_STATUS: current=1
INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
INSTRUMENTATION_STATUS: numtests=1
INSTRUMENTATION_STATUS: stream=.
INSTRUMENTATION_STATUS: test=testText
INSTRUMENTATION_STATUS_CODE: 0
INSTRUMENTATION_RESULT: stream=
Time: 0.915
OK (1 test)
INSTRUMENTATION_CODE: -1
Pay attention to the s_glBindAttribLocation
. It is actually written to stderr, not stdout. For devices that only support shell v1 this means that our parser will fail since the stderr is interleaved with stdout.
Fixed upstream in https://github.com/Malinskiy/adam/pull/93
Describe the bug When running tests on an API 31 emulator that use screenshot method (UiAutomator.takeScreenshot()), test is set to "incomplete" at the time screenshot is taken and starts retrying. If remove screenshot method from test body, then test will pass successfully. When running tests locally from AS or running tests with Marathon on emulators with API 29 or API 30, tests pass. Bug is reproduced when running test from samples - MainActivityAllureTest.kt -> testText()
To Reproduce Steps to reproduce the behaviour:
Logs and reports
Devices (please complete the following information):