Rework how the result matching is performed. Some tests from
gfxbench provide more than 1 score per test and
some provide their output in a different format to others.
Update the matching to perform more flexible matching as well
as dealing with entries that do not fit on a single results screen.
* Pcmark sometimes auto installs without need for clicking button,
in such cases workload throws UiObjectNotFound exception.
* Added logic to check for installation button existence.
* Increased install wait time to 5 mins.
* Updated regex to reflect correct test name.
* Enabling/disabling tests on setup was missing tesselation on some devices
so changed order of toggle.
* Sometimes whilst collecting scores the workload grabs the wrong score.
Updated to check the name of the test before grabbing the score.
* Tested on mate20, xperia, s9-exynos, s10-exynos, pixel-4
Some devices print non standard characters to logcat. If an error
occurs when parsing the output, replace the offending character instead
of raising an error.
* Workload was failing when chrome was not set as default broser so
altered to use chrome every time.
* Changed workload to an ApkuiAutoWorkload since chrome is now a
dependency.
* Refactored opening speedometer to new method.
* Added wait time for scores to show up when test finished.
The update to Antutu major version 8 has changed a lot of element names.
There have also been changes to the tests run in three of the four categories.
This commit handles those updates while also retaining backwards compatibility
with major version 7.
Android 10 has introduced a new permission warning and a
seperate warning about the APK being built for an older version
of the Android OS. Have added two checks to accept these
permissions and continue with the workload and the given APK
rather than attempting to update.
Some devices have proved to have a natural orientation
that does not lend itself well to this workload. Therefore
I have edited the orientation lock to portrait instead of
natural.
Adding support for Geekbench 4.3.4 and 4.4.0.
Adding support for Geekbench Corporate 5.0.1 and 5.0.3.
There are no changes required to the functional workload.
On devices running android 9 with google play services, PlayProtect
blocks the installation of our automation apks due to targeting a lower
SDK version. Update all apk builds to target SDK version 28 (Android 9)
however do not change the minimum version to maintain backwards
compatibility.
The workload is clicking the run button in the centre
of the element but this is no longer starting the
run operation.
Refactoring the code to click in the topleft of the
object seems to rectify the issue.
Add a workload that launches UIBenchJankTests. This differs from the
UIBench application as it adds automation and instrumentation to that
APK. This therefore requires a different implementation than classical
ApkWorkloads as 2 APKs are required (UIBench and UIBenchJankTests) and
the main APK is invoked through `am instrument` (as opposed to `am
start`).
The workload could attempt to use the version attribute before it was
discovered to assess the workload activity causing an error however the
whole process can be simplified using newer discovery features.
Some tablet devices use an alternate tab switching method due to the
larger screen space. Add support for adding new tabs via the menu
instead of via the tab switcher.
No longer specify a default version to allow any available apks to be
detected and then choose the appropriate automation based on the
detected version.
Refactor to support new supported_versions attribute and since APK
resolution needs to have happened before setting uiauto parameter
move assignments to ``initialize``.