From 60477662c950913855460a6d1879920afa703d21 Mon Sep 17 00:00:00 2001 From: Parashuram Date: Mon, 23 May 2016 19:42:52 -0700 Subject: [PATCH] Don't run AndroidTracingProbe for Cordova apps AndroidTracingProbe looks for adb logs that are triggered only for Chrome-Android. All other Chrome WebView apps, including Cordova apps cannot use that. In AndroidTracingProbe, the capabilities were picked up from the browser session rather than than what was passed in. As a result, the lines (that were deleted in this commit) simply passed, causing this to be called even for Cordova apps. As a result, the logs never show up, waitForLogCat timeout and browser-perf failed. The check in this commit basically says that ALL Chrome-Android browser have an activity, and that should be the only time when AndroidTracingProbe should be triggered. See #61 --- lib/probes/AndroidTracingProbe.js | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/lib/probes/AndroidTracingProbe.js b/lib/probes/AndroidTracingProbe.js index 58f3aaf..c43e668 100644 --- a/lib/probes/AndroidTracingProbe.js +++ b/lib/probes/AndroidTracingProbe.js @@ -20,14 +20,7 @@ util.inherits(AndroidTracingProbe, events.EventEmitter); AndroidTracingProbe.prototype.id = 'AndroidTracingProbe'; AndroidTracingProbe.prototype.isEnabled = function(browser) { - // Called when setup method gets Caps from server - if (browser.platform && browser.platform.match(/android/i)) { - if (browser.browserName && browser.browserName.match(/chrome/i) && parseInt(browser.version, 10) >= 33) { - return true; - } - } - - // TRUE for Android Chrome browser + // TRUE for Android Chrome browser - Activity Name is always set for Android-Chrome browser if (helpers.deepEquals(browser, 'browserName', 'android') && helpers.deepEquals(browser, 'chromeOptions.androidPackage', 'com.android.chrome')) { return true; }