From b323d98e5182a4cdb25e000c2a5374f4c59f33d4 Mon Sep 17 00:00:00 2001 From: jummp01 Date: Mon, 21 Nov 2016 15:49:21 +0000 Subject: [PATCH] Adds AppLaunch class in Uiauto Base class A new class AppLaunch added that facilitates launching applications from the uiautomator. Moreover, applaunch measurement markers are placed to measure the cold-start time of applications. 1- Turns off WA-applaunch if uxperf markers enabled Launching application from WA is disabled if uxperf markers are enabled. The new applaunch class will be used to launch application from the uiautomator so that application launch time can be measured. 2- Application activity name is passed as a parameter to the uiautomator as it is required for launching certain applications. 3- Googlephotos: Adds the applaunch call in the workload It looks for the text, Photos, on the screen to mark the end of the launch. 4- Adobereader: Adds the applaunch call in the workload It looks for the text,RECENT,on the screen in the opening page after welcomepages for launch end. 5- Youtube: Adds the Applaunch call in the workload It looks for the text,Home, for marking applaunch end time. 6- Googleplaybooks: Adds the applaunch call in the workload It looks for the search icon for applaunch end. 6- Adds applaunch method for skype Skype launches with an action name and data_uri unlike other applications. For supporting this an overridden launch_main() method is introduced in the AppLaunch class. 7- Skype: Adds the applaunch call in the workload The end marker is set to search for the search for contact icon. 8- Fixes sending empty activity as parameter Activity name being sent as parameter throws error as android does not support sending empty string. Fixed by sending the string None if the string is empty. 9- Tested for all the above workloads on s7. All workloads ran with the new base class and jar files are added --- .../common/android/BaseUiAutomation$1.class | Bin 1786 -> 1786 bytes .../android/BaseUiAutomation$AppLaunch.class | Bin 0 -> 3142 bytes wlauto/common/android/BaseUiAutomation.class | Bin 16894 -> 16968 bytes wlauto/common/android/workload.py | 7 ++ .../arm/wlauto/uiauto/BaseUiAutomation.java | 71 ++++++++++++++++++ .../com.arm.wlauto.uiauto.adobereader.jar | Bin 13338 -> 14123 bytes .../com/arm/wlauto/uiauto/UiAutomation.java | 17 ++++- .../com.arm.wlauto.uiauto.googlephotos.jar | Bin 15404 -> 16100 bytes .../com/arm/wlauto/uiauto/UiAutomation.java | 20 ++++- .../com.arm.wlauto.uiauto.googleplaybooks.jar | Bin 16656 -> 17375 bytes .../com/arm/wlauto/uiauto/UiAutomation.java | 17 +++++ .../skype/com.arm.wlauto.uiauto.skype.jar | Bin 12535 -> 13431 bytes .../com/arm/wlauto/uiauto/UiAutomation.java | 19 +++++ .../youtube/com.arm.wlauto.uiauto.youtube.jar | Bin 12803 -> 13632 bytes .../com/arm/wlauto/uiauto/UiAutomation.java | 17 +++++ 15 files changed, 166 insertions(+), 2 deletions(-) create mode 100644 wlauto/common/android/BaseUiAutomation$AppLaunch.class diff --git a/wlauto/common/android/BaseUiAutomation$1.class b/wlauto/common/android/BaseUiAutomation$1.class index fea7e68c5eebaa1773fadd5986d9762a78ca104e..817842e89a235f7c7972dd3caeb58bba236fc9c5 100644 GIT binary patch delta 22 ecmeyx`-^wO8a6H_9R@STy9_yu^^>=;xc~rKkOw>f delta 22 ecmeyx`-^wO8a6J*rwnF{(-?9XEhcYca{&Ng1qWsT diff --git a/wlauto/common/android/BaseUiAutomation$AppLaunch.class b/wlauto/common/android/BaseUiAutomation$AppLaunch.class new file mode 100644 index 0000000000000000000000000000000000000000..79989d018de06aadb6595d778dce9b6765afbc6a GIT binary patch literal 3142 zcmbtWYjYD-7=E@*Nmv$IQd%e%30i2IQo>b*B3deFB^0C-45)aT9NL9sH*7Yv+*EFg z3U~oT7-!TE>ZqTbu`MH`e$yHMjekIW&h9qZ3Nv=}!=AI}^1ko$KJR7s_dkF98NfQ+ zosBlUsAC!S#W0{2`_(Y0h68Fi7)3@$42RU>a1<{`@rsUDaYToK*L2K*P{U9RSsgjZ zD2~Q3tfLVlI$naQWRI!gcno=UqoBir9YZmS6Kd_Kbtwi{M;Rw$7>!{}r>#@U%IO%+ zL~&NboTA7c7sIk&6r_fD`j|K=Qh8wwrv_Zdw1&Gi7$WPMCr$U1e<$k7lDl6FYtW0r zp_nV3l7_~#uyT%V=2CVkwY_ZR@{+Q%^7insbf~0GbABsU#`9DV?iH`3>7Gut)^wV+cXT#Sm;4k z9Fda_9ABPT`P%n6s~n%hH=_d0e~mP*|UU@W*=R3WTJf9eYPa-_(q5H9kM zO`G98dQ>_xx6eDFy-1$!F(G!0Wo1zXicaW(Vrk_xbOu}pDdLBhF}0mk)^=oS(A+b0 zOlIBgK82~VDtg3`CA;ioslCl-;$Ky0m>0;qW9;Lu;2N$+@xFl%@F7Dd3W<^{95>N*FtL(p)KE3)r-*@%aKpe& z+@eouFVAHzF>1Oa40U3vS4Hu$f!p{*!-BBJE{jT2N^kQt(Tbdbt$5179ffb>Ux#fILx_R#tX*9AcS; zPs1fTDooeU5$0COwb|0@yj)@?Q-R1+^)%t2=P0EiiuRQ))i_w(q^PoJn&wEbtv)A5 zZHJ9a!{&#;Ivi>yQ^rDD0eGU7V>0{jb`%7~qp#YO8>RwXcFlZ>Usd)vw%Hl>Gd8Yh zj$d)dK7|$hC0NE^mRYD#-H2~Bsv&V^*A8a(CU4CK12ivJGx-A|Es;sg9*6!trE2g5$43z5 zIELA9P>)ksfYWHf87#+HT0Vy-dAiZJg3ajWiuOD-n)jyg*LZKrgIe!RVUG|a%bI5j z>2+#|sI&W+lerHg(>Z~;lbAP&`rTUp>IpPt`hP`pSA6~i;&=Y~<31WQ@dcA;`lX6= zF}(%O^Ka||nsAZGFOkQ~M0v$Sne;7$P;SH1MA1lJoSI$^lO(&9&&sMBtLOl5gR#F!4sJ2~ZZjM1Vvsp?1fTI&_H&Hji;8F%Wi_s-Kj74r__Ac>0<+*Ll@&Vfv1bpW(K*+qDKLhzcsg!_{4 zzGCpcK`Xvxp?nt#b4P{k4(w(~726%?=Tk!o-2+w|;=KlYc%ue;v6ge3Z!!MSrzqFP Ic?-0^0aZj9D*ylh literal 0 HcmV?d00001 diff --git a/wlauto/common/android/BaseUiAutomation.class b/wlauto/common/android/BaseUiAutomation.class index 1f6f8cdd24cbb603b1057fdc8ab3310e172646d9..2f6d2a7d41029f784406f0deae51d43598ff4d76 100644 GIT binary patch delta 6936 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 xx=R5DgN60D^#Ega82q45)}edR1EF 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 J{~Z-+{{wi7Y1;q* diff --git a/wlauto/common/android/workload.py b/wlauto/common/android/workload.py index 8c1b0067..07dbb495 100644 --- a/wlauto/common/android/workload.py +++ b/wlauto/common/android/workload.py @@ -630,11 +630,18 @@ class AndroidUxPerfWorkload(AndroidUiAutoBenchmark): super(AndroidUxPerfWorkload, self).__init__(device, **kwargs) # Turn class attribute into instance attribute self.deployable_assets = list(self.deployable_assets) + # Turn off app launch from wa if markers are enabled for uxperf + if self.markers_enabled: + self.launch_main = False def validate(self): super(AndroidUxPerfWorkload, self).validate() self.uiauto_params['package'] = self.package self.uiauto_params['markers_enabled'] = self.markers_enabled + if not self.activity: + self.uiauto_params['launch_activity'] = "None" + else: + self.uiauto_params['launch_activity'] = self.activity def setup(self, context): super(AndroidUxPerfWorkload, self).setup(context) diff --git a/wlauto/external/uiauto/src/com/arm/wlauto/uiauto/BaseUiAutomation.java b/wlauto/external/uiauto/src/com/arm/wlauto/uiauto/BaseUiAutomation.java index 772cea5a..e3a2e8cd 100644 --- a/wlauto/external/uiauto/src/com/arm/wlauto/uiauto/BaseUiAutomation.java +++ b/wlauto/external/uiauto/src/com/arm/wlauto/uiauto/BaseUiAutomation.java @@ -99,6 +99,77 @@ public class BaseUiAutomation extends UiAutomatorTestCase { } } } + /* + * AppLaunch class implements methods that facilitates launching applications from the uiautomator. + * ActionLogger class is instantiated within the class for measuring applaunch time. + * launch_main(): starts the application launch. + * launch_end(UiObject,int): marks the end of application launch, to measure the correct applaunch end time. + * @param Uiobject: is a workload specific object to search in the screen that potentially marks the beginning of user interaction. + * @param int: speficies the number of seconds to wait for the object to appear on screen, throws Uiobject not found exception. + */ + public class AppLaunch { + + private String packageName; + private String activityName; + public String testTag = "applaunch"; + public Bundle parameters; + public ActionLogger logger; + + public AppLaunch(String packageName, + String activityName, + Bundle parameters) { + this.packageName = packageName; + this.activityName = activityName; + this.parameters = parameters; + this.logger = new ActionLogger(testTag, parameters); + } + + //Called by launch_main() to check if app launch is successful + public void launch_validate(Process launch_p) throws Exception { + BufferedReader reader = new BufferedReader(new InputStreamReader(launch_p.getInputStream())); + String line = null; + while ((line = reader.readLine()) != null) { + if (line.contains("Error:")) { + throw new Exception("Application could not be launched"); + } + } + } + + //Marks the end of applaunch of the workload. + public void launch_end(UiObject launch_end_resource, int launch_timeout) throws Exception{ + waitObject(launch_end_resource, launch_timeout); + logger.stop(); + } + + //Launches the application. + public void launch_main() throws Exception{ + Process launch_p; + logger.start(); + if(activityName.equals("None")) { + launch_p = Runtime.getRuntime().exec(String.format("am start -W %s", + packageName)); + Log.d("Launched without activity", activityName); + } + else { + launch_p = Runtime.getRuntime().exec(String.format("am start -W -n %s/%s", + packageName, activityName)); + Log.d("Launched with activity", activityName); + } + + launch_validate(launch_p); + launch_p.destroy(); + } + //Launches the Skype application + public void launch_main(String actionName, String dataURI) throws Exception{ + Process launch_p; + logger.start(); + launch_p = Runtime.getRuntime().exec(String.format("am start -W -a %s -d %s", + actionName, dataURI)); + + launch_validate(launch_p); + launch_p.destroy(); + } + } public void sleep(int second) { super.sleep(second * 1000); diff --git a/wlauto/workloads/adobereader/com.arm.wlauto.uiauto.adobereader.jar b/wlauto/workloads/adobereader/com.arm.wlauto.uiauto.adobereader.jar index f91c97fee46f8e585bf9542f3a5275babeb78374..ddac37031241384ae23994c1b8e0c60f755d8cc2 100644 GIT binary patch delta 13949 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 F{{UoI%FzG- delta 13146 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 diff --git a/wlauto/workloads/adobereader/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java b/wlauto/workloads/adobereader/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java index 11f10536..3278474a 100755 --- a/wlauto/workloads/adobereader/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java +++ b/wlauto/workloads/adobereader/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java @@ -39,6 +39,8 @@ public class UiAutomation extends UxPerfUiAutomation { protected Bundle parameters; protected String packageName; protected String packageID; + public String activityName; + public Boolean applaunch_enabled; private long networkTimeout = TimeUnit.SECONDS.toMillis(20); private long searchTimeout = TimeUnit.SECONDS.toMillis(20); @@ -46,15 +48,28 @@ public class UiAutomation extends UxPerfUiAutomation { public void runUiAutomation() throws Exception { parameters = getParams(); packageName = parameters.getString("package"); + activityName = parameters.getString("launch_activity"); packageID = packageName + ":id/"; + applaunch_enabled = Boolean.parseBoolean(parameters.getString("markers_enabled")); String filename = parameters.getString("filename").replace("0space0", " "); String[] searchStrings = parameters.getString("search_string_list").replace("0space0", " ").split("0newline0"); + //Applaunch object for launching an application and measuring the time taken + AppLaunch applaunch = new AppLaunch(packageName, activityName, parameters); + //Widget on the screen that marks the application ready for user interaction + UiObject userBeginObject = + new UiObject(new UiSelector().textContains("RECENT") + .className("android.widget.TextView")); + if(applaunch_enabled) { + applaunch.launch_main();//launch the application + } setScreenOrientation(ScreenOrientation.NATURAL); - dismissWelcomeView(); + if(applaunch_enabled) { + applaunch.launch_end(userBeginObject,5);//mark the end of launch + } openFile(filename); gesturesTest(); searchPdfTest(searchStrings); diff --git a/wlauto/workloads/googlephotos/com.arm.wlauto.uiauto.googlephotos.jar b/wlauto/workloads/googlephotos/com.arm.wlauto.uiauto.googlephotos.jar index 57bac152d914c3a7a1f10a3b0177daa5be8f9b53..a5d4518b04f6842320340daa939cc12dda6015d1 100644 GIT binary patch delta 15947 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 delta 15246 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 NS&@wd{`Jkm{U02nm}CF| diff --git a/wlauto/workloads/googlephotos/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java b/wlauto/workloads/googlephotos/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java index b3c81954..8763a5a5 100755 --- a/wlauto/workloads/googlephotos/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java +++ b/wlauto/workloads/googlephotos/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java @@ -41,18 +41,36 @@ public class UiAutomation extends UxPerfUiAutomation { public Bundle parameters; public String packageName; public String packageID; + public String activityName; + public Boolean applaunch_enabled; private long viewTimeout = TimeUnit.SECONDS.toMillis(10); public void runUiAutomation() throws Exception { parameters = getParams(); packageName = parameters.getString("package"); + activityName = parameters.getString("launch_activity"); packageID = packageName + ":id/"; + applaunch_enabled = Boolean.parseBoolean(parameters.getString("markers_enabled")); + + //Applaunch object for launching an application and measuring the time taken + AppLaunch applaunch = new AppLaunch(packageName, activityName, parameters); + //Widget on the screen that marks the application ready for user interaction + UiObject userBeginObject = + new UiObject(new UiSelector().textContains("Photos") + .className("android.widget.TextView")); + if(applaunch_enabled) { + applaunch.launch_main();//launch the application + } + - sleep(5); // Pause while splash screen loads setScreenOrientation(ScreenOrientation.NATURAL); dismissWelcomeView(); closePromotionPopUp(); + + if(applaunch_enabled) { + applaunch.launch_end(userBeginObject,5);//mark the end of launch + } selectWorkingGallery("wa-1"); gesturesTest(); diff --git a/wlauto/workloads/googleplaybooks/com.arm.wlauto.uiauto.googleplaybooks.jar b/wlauto/workloads/googleplaybooks/com.arm.wlauto.uiauto.googleplaybooks.jar index 9166516c88121f5a105630bad4fd943c19db2c22..5ffa6a4eb2af8c1543b16f3b0d7d44fb5588a239 100644 GIT binary patch delta 17219 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 twGX_3R25+1a6$j=#YqrgO%W!uX?(WVH7%FS*H= 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 diff --git a/wlauto/workloads/skype/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java b/wlauto/workloads/skype/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java index 1dd57b16..6250ca9f 100755 --- a/wlauto/workloads/skype/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java +++ b/wlauto/workloads/skype/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java @@ -36,6 +36,10 @@ public class UiAutomation extends UxPerfUiAutomation { public Bundle parameters; public String packageName; public String packageID; + public String activityName; + public String actionName = "android.intent.action.VIEW"; //required for launching skype + public String dataURI = "skype:dummy?dummy"; // required for launching skype + public Boolean applaunch_enabled; public static final String ACTION_VOICE = "voice"; public static final String ACTION_VIDEO = "video"; @@ -46,7 +50,9 @@ public class UiAutomation extends UxPerfUiAutomation { parameters = getParams(); packageName = parameters.getString("package"); + activityName = parameters.getString("launch_activity"); packageID = packageName + ":id/"; + applaunch_enabled = Boolean.parseBoolean(parameters.getString("markers_enabled")); String loginName = parameters.getString("my_id"); String loginPass = parameters.getString("my_pwd"); @@ -54,6 +60,16 @@ public class UiAutomation extends UxPerfUiAutomation { int callDuration = Integer.parseInt(parameters.getString("duration")); String callType = parameters.getString("action"); String resultsFile = parameters.getString("results_file"); + + //Applaunch object for launching an application and measuring the time taken + AppLaunch applaunch = new AppLaunch(packageName, activityName, parameters); + //Widget on the screen that marks the application ready for user interaction + UiObject userBeginObject = + new UiObject(new UiSelector().resourceId(packageID + "menu_search")); + if(applaunch_enabled) { + applaunch.launch_main(actionName,dataURI);//launch the application + } + setScreenOrientation(ScreenOrientation.NATURAL); @@ -64,6 +80,9 @@ public class UiAutomation extends UxPerfUiAutomation { // Run tests handleLoginScreen(loginName, loginPass); dismissUpdatePopupIfPresent(); + if(applaunch_enabled) { + applaunch.launch_end(userBeginObject,5);//mark the end of launch + } searchForContact(contactName); if (ACTION_VOICE.equalsIgnoreCase(callType)) { diff --git a/wlauto/workloads/youtube/com.arm.wlauto.uiauto.youtube.jar b/wlauto/workloads/youtube/com.arm.wlauto.uiauto.youtube.jar index 9aad9634650ff4454eec35e337bb4ff7c0869b64..4ed3f2acac93b610fb10a2b95a54bf29f6cd265b 100644 GIT binary patch delta 13460 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 je{DsH(j5H%>nlnOSWrfIr(i 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 H|MB>Lz3eOz 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 44313008..0b549205 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,6 +17,7 @@ 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; @@ -34,6 +35,8 @@ public class UiAutomation extends UxPerfUiAutomation { public Bundle parameters; public String packageName; public String packageID; + public String activityName; + public Boolean applaunch_enabled; public static final String SOURCE_MY_VIDEOS = "my_videos"; public static final String SOURCE_SEARCH = "search"; @@ -46,7 +49,9 @@ public class UiAutomation extends UxPerfUiAutomation { public void runUiAutomation() throws Exception { parameters = getParams(); packageName = parameters.getString("package"); + activityName = parameters.getString("launch_activity"); packageID = packageName + ":id/"; + applaunch_enabled = Boolean.parseBoolean(parameters.getString("markers_enabled")); String videoSource = parameters.getString("video_source"); String searchTerm = parameters.getString("search_term"); @@ -54,10 +59,22 @@ public class UiAutomation extends UxPerfUiAutomation { searchTerm = searchTerm.replace("0space0", " "); } + //Applaunch object for launching an application and measuring the time taken + AppLaunch applaunch = new AppLaunch(packageName, activityName, parameters); + //Widget on the screen that marks the application ready for user interaction + UiObject userBeginObject = + new UiObject(new UiSelector().textContains("Home") + .className("android.widget.TextView")); + if(applaunch_enabled) { + applaunch.launch_main();//launch the application + } setScreenOrientation(ScreenOrientation.NATURAL); clearFirstRunDialogues(); disableAutoplay(); + if(applaunch_enabled) { + applaunch.launch_end(userBeginObject,5);//mark the end of launch + } testPlayVideo(videoSource, searchTerm); dismissAdvert(); checkPlayerError();