From c47ae5cfcff83477e80fc8cc0e11c3841a8ffec1 Mon Sep 17 00:00:00 2001 From: Michael McGeagh Date: Wed, 28 Sep 2016 14:39:53 +0100 Subject: [PATCH] Youtube: Codetidy to conform with the other workloads --- wlauto/workloads/youtube/__init__.py | 21 ++- .../youtube/com.arm.wlauto.uiauto.youtube.jar | Bin 12905 -> 12803 bytes .../com/arm/wlauto/uiauto/UiAutomation.java | 146 ++++++++++-------- 3 files changed, 94 insertions(+), 73 deletions(-) diff --git a/wlauto/workloads/youtube/__init__.py b/wlauto/workloads/youtube/__init__.py index bef245df..c71af4bb 100755 --- a/wlauto/workloads/youtube/__init__.py +++ b/wlauto/workloads/youtube/__init__.py @@ -22,8 +22,9 @@ class Youtube(AndroidUxPerfWorkload): name = 'youtube' package = 'com.google.android.youtube' min_apk_version = '11.19.56' - max_apk_version = None # works with latest (11.33.58) at time of publishing this activity = '' + view = [package + '/com.google.android.apps.youtube.app.WatchWhileActivity', + package + '/com.google.android.apps.youtube.app.honeycomb.SettingsActivity'] description = ''' A workload to perform standard productivity tasks within YouTube. @@ -66,15 +67,13 @@ class Youtube(AndroidUxPerfWorkload): Parameter('search_term', kind=str, default='Big Buck Bunny 60fps 4K - Official Blender Foundation Short Film', description=''' - The search term to use when ``video_source`` is set to ``search``. Ignored otherwise. + The search term to use when ``video_source`` is set to ``search``. + Ignored otherwise. '''), ] - view = [ - package + '/com.google.android.apps.youtube.app.WatchWhileActivity', - package + '/com.google.android.apps.youtube.app.honeycomb.SettingsActivity', - ] - + # This workload relies on the internet so check that there is a working + # internet connection requires_network = True def __init__(self, device, **kwargs): @@ -82,9 +81,9 @@ class Youtube(AndroidUxPerfWorkload): self.run_timeout = 300 def validate(self): - if self.video_source == 'search' and not self.search_term: - raise WorkloadError("Param 'search_term' must be specified when video source is 'search'") - - self.uiauto_params['package'] = self.package + super(Youtube, self).validate() self.uiauto_params['video_source'] = self.video_source self.uiauto_params['search_term'] = self.search_term.replace(' ', '0space0') + # Make sure search term is set if video source is 'search' + if (self.video_source == 'search') and not self.search_term: + raise WorkloadError("Param 'search_term' must be specified when video source is 'search'") \ No newline at end of file diff --git a/wlauto/workloads/youtube/com.arm.wlauto.uiauto.youtube.jar b/wlauto/workloads/youtube/com.arm.wlauto.uiauto.youtube.jar index 79c7aa415979ab697176c91171f2a83f22b82eff..9aad9634650ff4454eec35e337bb4ff7c0869b64 100644 GIT binary patch delta 12583 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 JH!%PJ005YN8MFWZ delta 12686 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 IF#rGn07nTn;{X5v diff --git a/wlauto/workloads/youtube/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java b/wlauto/workloads/youtube/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java index d98ca661..44313008 100755 --- a/wlauto/workloads/youtube/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java +++ b/wlauto/workloads/youtube/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java @@ -17,7 +17,6 @@ package com.arm.wlauto.uiauto.youtube; import android.os.Bundle; import android.os.SystemClock; -import android.util.Log; // Import the uiautomator libraries import com.android.uiautomator.core.UiObject; @@ -32,54 +31,68 @@ import static com.arm.wlauto.uiauto.BaseUiAutomation.FindByCriteria.BY_DESC; public class UiAutomation extends UxPerfUiAutomation { - public static final String CLASS_BUTTON = "android.widget.Button"; - public static final String CLASS_TEXT_VIEW = "android.widget.TextView"; + public Bundle parameters; + public String packageName; + public String packageID; - public static final int WAIT_TIMEOUT_1SEC = 1000; - public static final int VIDEO_SLEEP_SECONDS = 3; - public static final int LIST_SWIPE_COUNT = 5; public static final String SOURCE_MY_VIDEOS = "my_videos"; public static final String SOURCE_SEARCH = "search"; public static final String SOURCE_TRENDING = "trending"; - protected ActionLogger logger; - protected Bundle parameters; - protected String packageName; - protected String packageID; - protected String videoSource; - protected String searchTerm; + public static final int WAIT_TIMEOUT_1SEC = 1000; + public static final int VIDEO_SLEEP_SECONDS = 3; + public static final int LIST_SWIPE_COUNT = 5; public void runUiAutomation() throws Exception { parameters = getParams(); packageName = parameters.getString("package"); packageID = packageName + ":id/"; - videoSource = parameters.getString("video_source"); - searchTerm = parameters.getString("search_term"); + + String videoSource = parameters.getString("video_source"); + String searchTerm = parameters.getString("search_term"); if (searchTerm != null) { - searchTerm = searchTerm.replaceAll("0space0", " "); + searchTerm = searchTerm.replace("0space0", " "); } setScreenOrientation(ScreenOrientation.NATURAL); + clearFirstRunDialogues(); disableAutoplay(); testPlayVideo(videoSource, searchTerm); + dismissAdvert(); + checkPlayerError(); + pausePlayVideo(); + checkVideoInfo(); + scrollRelated(); + unsetScreenOrientation(); } public void clearFirstRunDialogues() throws Exception { - UiObject laterButton = new UiObject(new UiSelector().textContains("Later").className(CLASS_TEXT_VIEW)); + UiObject laterButton = + new UiObject(new UiSelector().textContains("Later") + .className("android.widget.TextView")); if (laterButton.waitForExists(WAIT_TIMEOUT_1SEC)) { laterButton.click(); } - UiObject cancelButton = new UiObject(new UiSelector().textContains("Cancel").className(CLASS_BUTTON)); + + UiObject cancelButton = + new UiObject(new UiSelector().textContains("Cancel") + .className("android.widget.Button")); if (cancelButton.waitForExists(WAIT_TIMEOUT_1SEC)) { cancelButton.click(); } - UiObject skipButton = new UiObject(new UiSelector().textContains("Skip").className(CLASS_TEXT_VIEW)); + + UiObject skipButton = + new UiObject(new UiSelector().textContains("Skip") + .className("android.widget.TextView")); if (skipButton.waitForExists(WAIT_TIMEOUT_1SEC)) { skipButton.click(); } - UiObject gotItButton = new UiObject(new UiSelector().textContains("Got it").className(CLASS_BUTTON)); + + UiObject gotItButton = + new UiObject(new UiSelector().textContains("Got it") + .className("android.widget.Button")); if (gotItButton.waitForExists(WAIT_TIMEOUT_1SEC)) { gotItButton.click(); } @@ -91,7 +104,8 @@ public class UiAutomation extends UxPerfUiAutomation { clickUiObject(BY_TEXT, "General", true); // Don't fail fatally if autoplay toggle cannot be found - UiObject autoplayToggle = new UiObject(new UiSelector().textContains("Autoplay")); + UiObject autoplayToggle = + new UiObject(new UiSelector().textContains("Autoplay")); if (autoplayToggle.waitForExists(WAIT_TIMEOUT_1SEC)) { autoplayToggle.click(); } @@ -99,64 +113,73 @@ public class UiAutomation extends UxPerfUiAutomation { // Tablet devices use a split with General in the left pane and Autoplay in the right so no // need to click back twice - UiObject generalButton = new UiObject(new UiSelector().textContains("General").className(CLASS_TEXT_VIEW)); + UiObject generalButton = + new UiObject(new UiSelector().textContains("General") + .className("android.widget.TextView")); if (generalButton.exists()) { getUiDevice().pressBack(); } } public void testPlayVideo(String source, String searchTerm) throws Exception { + String testTag = "play"; + ActionLogger logger = new ActionLogger(testTag + "_" + source, parameters); + if (SOURCE_SEARCH.equalsIgnoreCase(source)) { clickUiObject(BY_DESC, "Search"); UiObject textField = getUiObjectByResourceId(packageID + "search_edit_text"); textField.setText(searchTerm); getUiDevice().pressEnter(); - - startMeasurements("play_search"); // If a video exists whose title contains the exact search term, then play it // Otherwise click the first video in the search results - UiObject thumbnail = new UiObject(new UiSelector().resourceId(packageID + "thumbnail")); - UiObject matchedVideo = thumbnail.getFromParent(new UiSelector().textContains(searchTerm)); + UiObject thumbnail = + new UiObject(new UiSelector().resourceId(packageID + "thumbnail")); + UiObject matchedVideo = + thumbnail.getFromParent(new UiSelector().textContains(searchTerm)); + + logger.start(); if (matchedVideo.exists()) { matchedVideo.clickAndWaitForNewWindow(); } else { thumbnail.clickAndWaitForNewWindow(); } - endMeasurements(); + logger.stop(); + } else if (SOURCE_MY_VIDEOS.equalsIgnoreCase(source)) { clickUiObject(BY_DESC, "Account"); clickUiObject(BY_TEXT, "My Videos", true); - startMeasurements("play_myvideos"); + logger.start(); clickUiObject(BY_ID, packageID + "thumbnail", true); - endMeasurements(); + logger.stop(); + } else if (SOURCE_TRENDING.equalsIgnoreCase(source)) { clickUiObject(BY_DESC, "Trending"); - startMeasurements("play_trending"); + logger.start(); clickUiObject(BY_ID, packageID + "thumbnail", true); - endMeasurements(); + logger.stop(); + } else { // homepage videos - UiScrollable list = new UiScrollable(new UiSelector().resourceId(packageID + "results")); + UiScrollable list = + new UiScrollable(new UiSelector().resourceId(packageID + "results")); if (list.exists()) { list.scrollForward(); } - startMeasurements("play_home"); - clickUiObject(BY_ID, packageID + "thumbnail", true); - endMeasurements(); - } - dismissAdvert(); - checkPlayerError(); - pausePlayVideo(); - checkVideoInfo(); - scrollRelated(); + logger.start(); + clickUiObject(BY_ID, packageID + "thumbnail", true); + logger.stop(); + + } } public void dismissAdvert() throws Exception { - UiObject advert = new UiObject(new UiSelector().textContains("Visit advertiser")); + UiObject advert = + new UiObject(new UiSelector().textContains("Visit advertiser")); if (advert.exists()) { - UiObject skip = new UiObject(new UiSelector().textContains("Skip ad")); + UiObject skip = + new UiObject(new UiSelector().textContains("Skip ad")); if (skip.waitForExists(WAIT_TIMEOUT_1SEC*5)) { skip.click(); sleep(VIDEO_SLEEP_SECONDS); @@ -165,8 +188,10 @@ public class UiAutomation extends UxPerfUiAutomation { } public void checkPlayerError() throws Exception { - UiObject playerError = new UiObject(new UiSelector().resourceId(packageID + "player_error_view")); - UiObject tapToRetry = new UiObject(new UiSelector().textContains("Tap to retry")); + UiObject playerError = + new UiObject(new UiSelector().resourceId(packageID + "player_error_view")); + UiObject tapToRetry = + new UiObject(new UiSelector().textContains("Tap to retry")); if (playerError.waitForExists(WAIT_TIMEOUT_1SEC) || tapToRetry.waitForExists(WAIT_TIMEOUT_1SEC)) { throw new RuntimeException("Video player encountered an error and cannot continue."); } @@ -182,7 +207,8 @@ public class UiAutomation extends UxPerfUiAutomation { } public void checkVideoInfo() throws Exception { - UiObject expandButton = new UiObject(new UiSelector().resourceId(packageID + "expand_button")); + UiObject expandButton = + new UiObject(new UiSelector().resourceId(packageID + "expand_button")); if (!expandButton.waitForExists(WAIT_TIMEOUT_1SEC)) { return; } @@ -193,28 +219,24 @@ public class UiAutomation extends UxPerfUiAutomation { } public void scrollRelated() throws Exception { - // ListView of related videos and (maybe) comments - UiScrollable list = new UiScrollable(new UiSelector().resourceId(packageID + "watch_list")); - if (list.isScrollable()) { - startMeasurements("scroll_down"); - list.flingToEnd(LIST_SWIPE_COUNT); - endMeasurements(); + String testTag = "scroll"; - startMeasurements("scroll_up"); + // ListView of related videos and (maybe) comments + UiScrollable list = + new UiScrollable(new UiSelector().resourceId(packageID + "watch_list")); + if (list.isScrollable()) { + ActionLogger logger = new ActionLogger(testTag + "_down", parameters); + logger.start(); + list.flingToEnd(LIST_SWIPE_COUNT); + logger.stop(); + + logger = new ActionLogger(testTag + "_up", parameters); + logger.start(); list.flingToBeginning(LIST_SWIPE_COUNT); - endMeasurements(); + logger.stop(); } // After flinging, give the window enough time to settle down before // the next step, or else UiAutomator fails to find views in time sleep(VIDEO_SLEEP_SECONDS); } - - protected void startMeasurements(String testTag) throws Exception { - logger = new ActionLogger(testTag, parameters); - logger.start(); - } - - protected void endMeasurements() throws Exception { - logger.stop(); - } }