From 09563bc01e51149482f42c1316b0876cb4e425c9 Mon Sep 17 00:00:00 2001 From: Sebastian Goscik Date: Fri, 8 Jan 2016 16:14:43 +0000 Subject: [PATCH] antutu: Updated to support Antutu v6 --- wlauto/workloads/antutu/__init__.py | 23 +++-- .../antutu/com.arm.wlauto.uiauto.antutu.jar | Bin 5644 -> 6139 bytes .../com/arm/wlauto/uiauto/UiAutomation.java | 97 ++++++++++++++---- 3 files changed, 91 insertions(+), 29 deletions(-) diff --git a/wlauto/workloads/antutu/__init__.py b/wlauto/workloads/antutu/__init__.py index 580e9daa..5d046044 100644 --- a/wlauto/workloads/antutu/__init__.py +++ b/wlauto/workloads/antutu/__init__.py @@ -16,7 +16,8 @@ import os from collections import defaultdict, OrderedDict -from wlauto import AndroidUiAutoBenchmark, Parameter +from wlauto import AndroidUiAutoBenchmark, Parameter, File +from wlauto.utils.android import ApkInfo class Antutu(AndroidUiAutoBenchmark): @@ -46,7 +47,7 @@ class Antutu(AndroidUiAutoBenchmark): activity = ".ABenchMarkStart" summary_metrics = ['score', 'Overall_Score'] - valid_versions = ['3.3.2', '4.0.3', '5.3.0'] + valid_versions = ['3.3.2', '4.0.3', '5.3.0', '6.0.1'] device_prefs_directory = '/data/data/com.antutu.ABenchMark/shared_prefs' device_prefs_file = '/'.join([device_prefs_directory, 'com.antutu.ABenchMark_preferences.xml']) @@ -68,18 +69,26 @@ class Antutu(AndroidUiAutoBenchmark): def __init__(self, device, **kwargs): # pylint: disable=W0613 super(Antutu, self).__init__(device, **kwargs) - self.run_timeout = 6 * 60 * self.times + self.run_timeout = 10 * 60 * self.times self.uiauto_params['version'] = self.version self.uiauto_params['times'] = self.times self.uiauto_params['enable_sd_tests'] = self.enable_sd_tests + def setup(self, context): + if self.version == "6.0.1": + antutu_3d = context.resolver.get(File(self, "com.antutu.benchmark.full-1.apk")) + info = ApkInfo(antutu_3d) + if not context.device.is_installed(info.package): + self.device.install_apk(antutu_3d, timeout=120) + super(Antutu, self).setup(context) + def update_result(self, context): super(Antutu, self).update_result(context) with open(self.logcat_log) as fh: - if self.version == '4.0.3': - metrics = extract_version4_metrics(fh) + if self.version == '3.3.2': + metrics = extract_older_version_metrics(fh) else: - metrics = extract_older_version_metrics(fh) # pylint: disable=redefined-variable-type + metrics = extract_metrics(fh) # pylint: disable=redefined-variable-type for key, value in metrics.iteritems(): key = key.replace(' ', '_') context.result.add_metric(key, value) @@ -87,7 +96,7 @@ class Antutu(AndroidUiAutoBenchmark): # Utility functions -def extract_version4_metrics(fh): +def extract_metrics(fh): metrics = OrderedDict() metric_counts = defaultdict(int) for line in fh: diff --git a/wlauto/workloads/antutu/com.arm.wlauto.uiauto.antutu.jar b/wlauto/workloads/antutu/com.arm.wlauto.uiauto.antutu.jar index 122b57f0261863219b2568da318672a6bae43166..4aecde1da3e8bc38c92f2c4d5cd50675ae34b59e 100644 GIT binary patch delta 5969 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 delta 5480 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 times) { @@ -74,13 +98,6 @@ public class UiAutomation extends BaseUiAutomation { dismissRateDialogIfNecessary(); testAgain(); } - } else { // version earlier than 4.0.3 - dismissReleaseNotesDialogIfNecessary(); - if(!enableSdTests){ - disableSdCardTests(); - } - hitStart(); - waitForAndViewResults(); } Bundle status = new Bundle(); @@ -98,7 +115,7 @@ public class UiAutomation extends BaseUiAutomation { return false; } } - + public boolean dismissReleaseNotesDialogIfNecessary() throws Exception { UiSelector selector = new UiSelector(); UiObject closeButton = new UiObject(selector.text("Close")); @@ -118,11 +135,11 @@ public class UiAutomation extends BaseUiAutomation { // Sometimes, dismissing the dialog the first time does not work properly -- // it starts to disappear but is then immediately re-created; so may need to // dismiss it as long as keeps popping up. - while (closeButton.waitForExists(2)) { + while (closeButton.waitForExists(2)) { closeButton.click(); sleep(1); // diaglog dismissal dismissed = true; - } + } return dismissed; } @@ -137,15 +154,16 @@ public class UiAutomation extends BaseUiAutomation { /* In version 5 of antutu, the test has been changed from a button widget to a textview */ - public void hitTestButtonVersion5() throws Exception { + public void hitTestButtonVersion5(String id) throws Exception { UiSelector selector = new UiSelector(); - UiObject test = new UiObject(selector.resourceId("com.antutu.ABenchMark:id/start_test_region") + UiObject test = new UiObject(selector.resourceId(id) .className("android.widget.TextView")); test.waitForExists(initialTimeoutSeconds); test.click(); sleep(1); // possible tab transtion } + public void hitTest() throws Exception { UiSelector selector = new UiSelector(); UiObject test = new UiObject(selector.text("Test")); @@ -193,6 +211,17 @@ public class UiAutomation extends BaseUiAutomation { } } + public void waitForVersion6Results() throws Exception { + UiObject qrText = new UiObject(new UiSelector().className("android.widget.TextView") + .text("QRCode of result")); + for (int i = 0; i < 120; i++) { + if (qrText.exists()) { + break; + } + sleep(5); + } + } + public void viewDetails() throws Exception { UiSelector selector = new UiSelector(); UiObject detailsButton = new UiObject(new UiSelector().className("android.widget.Button") @@ -200,6 +229,30 @@ public class UiAutomation extends BaseUiAutomation { detailsButton.clickAndWaitForNewWindow(); } + public void extractResults6() throws Exception { + //Overal result + UiObject result = new UiObject(new UiSelector().resourceId("com.antutu.ABenchMark:id/tv_score_name")); + if (result.exists()) { + Log.v(TAG, String.format("ANTUTU RESULT: Overall Score: %s", result.getText())); + } + + // individual scores + extractSectionResults6("3d"); + extractSectionResults6("ux"); + extractSectionResults6("cpu"); + extractSectionResults6("ram"); + } + + public void extractSectionResults6(String section) throws Exception { + UiSelector selector = new UiSelector(); + UiObject resultLayout = new UiObject(selector.resourceId("com.antutu.ABenchMark:id/hcf_" + section)); + UiObject result = resultLayout.getChild(selector.resourceId("com.antutu.ABenchMark:id/tv_score_value")); + + if (result.exists()) { + Log.v(TAG, String.format("ANTUTU RESULT: %s Score: %s", section, result.getText())); + } + } + public void extractResults() throws Exception { extractOverallResult(); extractSectionResults();