From 48cced2ff9de66bcf393f2ec9cdca4359f04d450 Mon Sep 17 00:00:00 2001 From: Sergei Trofimov Date: Tue, 12 May 2015 14:28:16 +0100 Subject: [PATCH] antutu: robustness fixes for v5 multi-times executions - added slight delays to ensure more precise navigation - handle dialogs that occasionally pop up when re-running tests --- .../antutu/com.arm.wlauto.uiauto.antutu.jar | Bin 5570 -> 5644 bytes .../com/arm/wlauto/uiauto/UiAutomation.java | 32 +++++++++++++----- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/wlauto/workloads/antutu/com.arm.wlauto.uiauto.antutu.jar b/wlauto/workloads/antutu/com.arm.wlauto.uiauto.antutu.jar index b3335cbb3b56476dc1ec618f690964c45abf71bd..122b57f0261863219b2568da318672a6bae43166 100644 GIT binary patch delta 5365 zcmV@3IG5I007R0tC0;T1I>o3kvNTi&4#N+`Tpo{ToeER;3xn9 z3jhEBV{Bn_b7gZbWMz1zS_^nw#dSV&@9y2zYQ0*mtcTZ@eYMsLV@ooAAX)2&9yZ99 zWw2x!42fCoUR&2*-Ie$5$}*vV3D}f(`BGw99-$;8P?|uYErbxDIH^g10HM^$M_Nex zHMHgX>h^1Y8aD|||9R|cesD^QJ$lDSBR{*L=Yv+FNg|paT^S+uvjDP_B<0P(TRPDNpyM7Qury*2je@2@ zHLhPqbn_yjt3fx_5)A;`fKlL6z%{@=APYz$Rc9kO6K6jsedAe*?S^d<=X7#1;_s0cju)90qO!?gbtKz6!hu{55a_ zco+D8B~VdM)C#Nyx`4GnFR%&N3~U2NfGdHkfop&iFb+%rHvx|Tj{z?NKLq{^*{fyaTTftP^SfOmi&0sjn~2DBJa0Ehu?z-nMKuoJL=L%{XG z-N3`Zlfc)3Zv$@vCxL$g{tY+{=!=QUf%!lTxCrP3`hd%Uoqz>ofIM(La0_rZa6j;W z0PraAB=9`&7Vr2W2=%EIH`2}N?xb<4{D^2U+EP1mz925iOtFq zo6!=T`6W6FN^}+|ov7kJQugbWd{D)e|7=w}_h(4)r@(JhJfGubia!nh@bf2O( z2x`z#L49<)pcQndpo{4(MgJDmfFInBPucS!^Pds2vD&2}NI3 z^thlE^c|5y)$|-_K-mc(bDsx)EmzN+jtlCc-xt(NcL_RI>9vY^mSbnWEod!$U(h;5 z7tp(c)+^db?}>O;iQEsWae~;>AdWAlRB2}%Q1VlW4F&9>Mq4W&rd84c! z2Sn8=H`E;b(X#u+9F9@Y6Z2M3%pZYom!Ma$Y|`w5eA3*2@l`*HXbcs@pfRm7Jp%Xtk&=H*vq&+-$-KptLO^N>1ae=gz&73wpSYE+4#<7JmyXZ_6`eB z7b;E+Ix!|A$tbFA77=Vf+?{ZM&k-@N!w8^7`8H?<*`yi5y0#EsyMhmI&hnvI_~27M zyw@ntyBI3cWSE~~F~--f26G8&QGE=26;A1(Hfi#j$>%VC*9akMvj4}8@=SbZgPg-0 z(lLjM;yL`&MtM#~DJkl26?W!cw1#LVZ+}tD+XW(T!|+?2*SJvdJs7Ev1Y=(5pO+%x zD!-pr-8fA#!%I>BHNrz=n%^Oq97U(7N9IZ&a*F4Q z$RE#tr)SAhsJvngJfA9&NBC|Qv=Nkh*CR5DQNYvbsirY(jHtJa7VnX{gFWus>NEU2 zUwB33`7(m_E9|BBnq(b!!tLU7x!6%Nx%2l;>fT-w`$ga`7c*W0Z(_`ci0v-ydqk`P zk*m@Jkc4^02(40^KQGuU){rrXqk124?=F&mv(|dW8knN0TzzI$QCZ0AfV3HIK383e zYMY8yN_$2ke6+Bk;)@^T=zxz1hm8!n;>K)Z|*xG_Z7|=SkR+^pHGiz8nm#7{t>?1M0SsZP)?GWmJ zvYb-}V_zr6Ucu|97B$`wXZx5qy{{|q#({7@{0&glI8h?o$Yq{L&8n16k-1Sr6CPU> zFuDw`s~4X;jkVa*PIxIsal#klb9SoI~nFDn-ji> z`)WjfmhG5FQ@r*Gi>*I)%r4v*obWP#(L2s%Z#dyL&@O%}312AWtHkFz-uhmle!S2u zfA8c~=Zp%XT_R%IaE`n&k?p)njZm+*T;r>3>H)1wi->p|#dx2s<%E4=cNX^1_nYPK z*1y{-7p(Ccp0xK9*yF!zM4~gNr#v(JMc-S*JxXTlvEsQY^4VW;UX8;tBK|FZ=he6o zx2=d?<&V><&sGJgJa2EOle*4Y ze=wt8CL&wT&tpWk)Y7?Hm}u!$m4aLRQ;PZc3^tv221iRyb-(E8EA;g6o;~O7d9� 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 diff --git a/wlauto/workloads/antutu/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java b/wlauto/workloads/antutu/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java index 151029e3..2d98e5f4 100644 --- a/wlauto/workloads/antutu/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java +++ b/wlauto/workloads/antutu/uiauto/src/com/arm/wlauto/uiauto/UiAutomation.java @@ -53,7 +53,7 @@ public class UiAutomation extends BaseUiAutomation { if (version.equals("4.0.3") || version.equals("5.3.0")){ int iteration = 0; - dismissNewVersionNotificationIfNecessary(); + dismissNewVersionNotificationIfNecessary(); hitTestButton(); while (true) { if (version.equals("5.3.0")) @@ -71,8 +71,8 @@ public class UiAutomation extends BaseUiAutomation { } returnToTestScreen(version); - dismissRateDialogIfNecessary(); - testAgain(); + dismissRateDialogIfNecessary(); + testAgain(); } } else { // version earlier than 4.0.3 dismissReleaseNotesDialogIfNecessary(); @@ -114,14 +114,18 @@ public class UiAutomation extends BaseUiAutomation { public boolean dismissRateDialogIfNecessary() throws Exception { UiSelector selector = new UiSelector(); UiObject closeButton = new UiObject(selector.text("NOT NOW")); - if (closeButton.waitForExists(1)) { // dialog should already be there. + boolean dismissed = false; + // 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)) { closeButton.click(); sleep(1); // diaglog dismissal - return true; - } else { - return false; - } + dismissed = true; + } + return dismissed; } + public void hitTestButton() throws Exception { UiSelector selector = new UiSelector(); UiObject test = new UiObject(selector.text("Test") @@ -215,7 +219,7 @@ public class UiAutomation extends BaseUiAutomation { public void extractSectionResults() throws Exception { UiSelector selector = new UiSelector(); - Set processedMetrics = new HashSet(); + Set processedMetrics = new HashSet(); actuallyExtractSectionResults(processedMetrics); UiScrollable resultsList = new UiScrollable(selector.className("android.widget.ScrollView")); @@ -252,13 +256,23 @@ public class UiAutomation extends BaseUiAutomation { public void returnToTestScreen(String version) throws Exception { getUiDevice().pressBack(); if (version.equals("5.3.0")) + { + UiSelector selector = new UiSelector(); + UiObject detailsButton = new UiObject(new UiSelector().className("android.widget.Button") + .text("Details")); + sleep(1); getUiDevice().pressBack(); + } } public void testAgain() throws Exception { UiSelector selector = new UiSelector(); UiObject retestButton = new UiObject(selector.text("Test Again") .className("android.widget.Button")); + if (!retestButton.waitForExists(TimeUnit.SECONDS.toMillis(2))) { + getUiDevice().pressBack(); + retestButton.waitForExists(TimeUnit.SECONDS.toMillis(2)); + } retestButton.clickAndWaitForNewWindow(); }