Moved common functionality to base classes for code reuse. Refactored
googlephotos, reader and gmail workloads to take advantage of the new
base class methods and removed total test time metric.
New methods for BaseUiAutomation:
uiDeviceVertPinchIn, uiDeviceVertPinchOut
New methods for UxPerfUiAutomation:
uiObjectVertPinchTest, writeResultsToFile, startDumpsysSurfaceFlinger,
startDumpsysSurfaceFlinger, startDumpsysGfxInfo, stopDumpsysGfxInfo
New class for UxPerfUiAutomation:
GestureTestParams
A new workload to perform standard productivity tasks within
Googlephotos. Each user event/step is timed and reported back as a
metric. Dumpsys also captures SurfaceFlinger logs for each event for
post analysis.
A new workload to perform standard productivity tasks within Reader. Each user event/step is timed and reported back as a metric. Dumpsys also captures SurfaceFlinger logs for each event for post analysis.
This extends on BaseUiAutomation to include Ux performance instrumentation and UiAutomation convenience classes.
Todo - extend the create workload infrastructure to allow you to create a new UxPerfUiAutomation workload.
The change will allow us to use UiAutomator methods introduced in API 18, such as resourceId.
As a consequence of the change all dependent uiauto workloads have been incremented also.
Tested by rebuilding all uiautomator workloads. They were not run on devices.
If uninstall fails, "pm clear" should be called to make sure that the
next time the app is launched it starts from a known state (which would
normally be ensured by the uninstall).
It's possible that there is already a version of an app on target that
differs form the version of the apk on the host. In such cases, WA will
usually try to uninstall the target version and install the host
version.
It's possible that the uninstall may fail. If that happens, it will be
reported as a warning but workload exectuion will proceed with the
target version. In this case, apk_version would have already been set to
that of the host apk. This change ensures that the APK version is
correctly set to the target version (the one that actually ran).
Fixed error in percentage when frequency is 'None'. Now default to 0 in these cases
cpu_utilisation is now a separate parameter in cpustate. Now generates a floating point number representing the utilisation based on the maximum frequency of the capture. No longer performs averaging of values, this can be done as a post-processing step
cpu utilisation now based on the max cpu freq per core, not max captured freq overall
As of ADB 1.0.35/Android N, it will return the exit code of the command that it runs
This code handles this scenario as before WA treated a return code from ADB as an
error with ADB.
- android/workload: emoved an extra bank line between methods
- trace_cmd: define member attribute inside __init__
- adb_shell: ignore pylint warning about too many branches in this case
The old results looked like:
I/TfwActivity(30824): "description": "",
I/TfwActivity(30824): "elapsed_time": 62070,
I/TfwActivity(30824): "error": "NOERROR",
The new format is:
04-04 11:38:04.144 1410 1410 I TfwActivity: "description": "",
04-04 11:38:04.144 1410 1410 I TfwActivity: "elapsed_time": 62009,
04-04 11:38:04.144 1410 1410 I TfwActivity: "error": "NOERROR",
The timeout for the pulling the trace file after the run is being set
based on the time for which the trace was collected. For workloads with
short execution time, but large number of events, the resulting timeout
might be too short. To deal with this, do not let the timout be shorter
than 1 minute.