diff --git a/lib/paramedic.js b/lib/paramedic.js
index d856ec6..e431da1 100644
--- a/lib/paramedic.js
+++ b/lib/paramedic.js
@@ -50,6 +50,10 @@
         this.targetObj = undefined;
         this.paramedicSauceLabs = null;
 
+        this.isBrowser = this.config.getPlatformId() === utilities.BROWSER;
+        this.isWindows = this.config.getPlatformId() === utilities.WINDOWS;
+        this.isIos = this.config.getPlatformId() === utilities.IOS;
+
         exec.setVerboseLevel(config.isVerbose());
     }
 
@@ -68,7 +72,7 @@
             .then(() => {
                 if (this.config.runMainTests()) {
                 // start server
-                    const noListener = (this.config.getPlatformId() === utilities.BROWSER) && this.config.shouldUseSauce();
+                    const noListener = (this.isBrowser) && this.config.shouldUseSauce();
                     return Server.startServer(this.config.getPorts(), this.config.getExternalServerUrl(), this.config.getUseTunnel(), noListener);
                 }
             })
@@ -143,7 +147,7 @@
 
     setPermissions () {
         const applicationsToGrantPermission = ['kTCCServiceAddressBook'];
-        if (this.config.getPlatformId() === utilities.IOS) {
+        if (this.isIos) {
             logger.info('cordova-paramedic: Setting required permissions.');
             const tccDb = this.config.getTccDb();
             if (tccDb) {
@@ -377,42 +381,37 @@
     }
 
     getCommandForStartingTests () {
-        let cmd = this.config.getCli() + ' ' + this.config.getAction() + ' ' + this.config.getPlatformId() + utilities.PARAMEDIC_COMMON_CLI_ARGS;
+        let cmd = [
+            this.config.getCli(),
+            this.config.getAction(),
+            this.config.getPlatformId()
+        ]
+            .concat(utilities.PARAMEDIC_COMMON_ARGS)
+            .concat([this.config.getArgs()]);
 
-        const addConfigArgs = (cmd) => {
-            if (this.config.getArgs()) {
-                cmd += ' ' + this.config.getArgs();
-            }
-
-            return cmd;
-        };
-
-        if (this.config.getPlatformId() === utilities.BROWSER) {
-            return addConfigArgs(cmd);
-        }
-
-        const paramedicTargetChooser = new ParamedicTargetChooser(this.tempFolder.name, this.config);
-
-        if (this.config.getAction() === 'build' || (this.config.getPlatformId() === utilities.WINDOWS && this.config.getArgs().indexOf('appx=8.1-phone') < 0)) {
+        if (this.isBrowser) {
+            return cmd.join(' ');
+        } else if (this.config.getAction() === 'build' || (this.isWindows && this.config.getArgs().indexOf('appx=8.1-phone') < 0)) {
             // The app is to be run as a store app or just build. So no need to choose a target.
-            return Q(addConfigArgs(cmd));
+            return Q(cmd.join(' '));
         }
 
         // For now we always trying to run test app on emulator
-        return Q().then(() => paramedicTargetChooser.chooseTarget(/* useEmulator= */true, /* preferredTarget= */this.config.getTarget()))
-            .then((targetObj) => {
-                this.targetObj = targetObj;
-                cmd += ` --target "${this.targetObj.target}"`;
+        return (new ParamedicTargetChooser(this.tempFolder.name, this.config)).chooseTarget(
+            true, // useEmulator
+            this.config.getTarget() // preferredTarget
+        ).then(targetObj => {
+            this.targetObj = targetObj;
+
+            return cmd
+                .concat(['--target', `"${this.targetObj.target}"`])
 
                 // CB-11472 In case of iOS provide additional '--emulator' flag, otherwise
                 // 'cordova run ios --target' would hang waiting for device with name
                 // as specified in 'target' in case if any device is physically connected
-                if (this.config.getPlatformId() === utilities.IOS) {
-                    cmd += ' --emulator';
-                }
-
-                return addConfigArgs(cmd);
-            });
+                .concat(this.isIos ? ['--emulator'] : [])
+                .join(' ');
+        });
     }
 
     shouldWaitForTestResult () {
diff --git a/lib/utils/utilities.js b/lib/utils/utilities.js
index 78e1d45..f42fd4c 100644
--- a/lib/utils/utilities.js
+++ b/lib/utils/utilities.js
@@ -26,6 +26,7 @@
 const logger = require('cordova-common').CordovaLogger.get();
 const kill = require('tree-kill');
 const exec = require('./execWrapper').exec;
+const execa = require('execa');
 
 const HEADING_LINE_PATTERN = /List of devices/m;
 const DEVICE_ROW_PATTERN = /(emulator|device|host)/m;
@@ -61,23 +62,31 @@
 }
 
 function getSimulatorModelId (cli, target) {
-    target = target || '^iPhone';
+    target = new RegExp(target || '^iPhone');
 
-    // Command to fetch for a list of simulators by target. defaults to (^iPhone)
-    const cmd = `${cli} run --list --emulator${module.exports.PARAMEDIC_COMMON_CLI_ARGS} | grep "${target}" | tail -n1`;
+    const args = [
+        'run',
+        '--list',
+        '--emulator'
+    ].concat(module.exports.PARAMEDIC_COMMON_ARGS);
 
+    // Fetches all known simulators/emulators.
     logger.info('running:');
-    logger.info('    ' + cmd);
+    logger.info(`    ${cli} ${args.join(' ')}`);
 
-    // Results of the fetching command.
-    const results = exec(cmd);
+    const result = execa.sync(cli, args);
 
-    if (results.code > 0) {
+    if (result.exitCode > 0) {
         logger.error('Failed to find simulator we deployed to');
         return;
     }
 
-    return results.stdout;
+    // Return the individual target that is filtered from the known simulators/emulators based on provided target name. (default: ^iPhone)
+    return result.stdout
+        .split('\n')
+        .filter(i => i.match(target))
+        .pop()
+        .trim();
 }
 
 function getSimulatorId (findSimResult) {
@@ -191,6 +200,7 @@
     BROWSER: 'browser',
     PARAMEDIC_DEFAULT_APP_NAME: 'io.cordova.hellocordova',
     PARAMEDIC_COMMON_CLI_ARGS: ' --no-telemetry --no-update-notifier',
+    PARAMEDIC_COMMON_ARGS: ['--no-telemetry', '--no-update-notifier'],
     PARAMEDIC_PLUGIN_ADD_ARGS: '',
     PARAMEDIC_PLATFORM_ADD_ARGS: '',
     SAUCE_USER_ENV_VAR: 'SAUCE_USERNAME',
diff --git a/package-lock.json b/package-lock.json
index 38aa4c4..30de9a4 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1142,6 +1142,21 @@
       "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
       "dev": true
     },
+    "execa": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/execa/-/execa-2.0.1.tgz",
+      "integrity": "sha512-pHGXlV7S7ilDda3eaCTcr6zmFTMA3wJo7j+RtNg0uH9sbAasJfVug5RkYOTBLj5g4MOqlsaPUn3HKa/UfTDw8w==",
+      "requires": {
+        "cross-spawn": "^6.0.5",
+        "get-stream": "^5.0.0",
+        "is-stream": "^2.0.0",
+        "merge-stream": "^2.0.0",
+        "npm-run-path": "^3.0.0",
+        "p-finally": "^2.0.0",
+        "signal-exit": "^3.0.2",
+        "strip-final-newline": "^2.0.0"
+      }
+    },
     "expect-telnet": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/expect-telnet/-/expect-telnet-1.0.0.tgz",
@@ -1346,6 +1361,14 @@
       "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
       "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w=="
     },
+    "get-stream": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
+      "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==",
+      "requires": {
+        "pump": "^3.0.0"
+      }
+    },
     "getpass": {
       "version": "0.1.7",
       "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
@@ -1612,6 +1635,11 @@
         "has": "^1.0.1"
       }
     },
+    "is-stream": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
+      "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw=="
+    },
     "is-symbol": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
@@ -1826,6 +1854,11 @@
         "path-exists": "^3.0.0"
       }
     },
+    "merge-stream": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+      "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
+    },
     "mime-db": {
       "version": "1.37.0",
       "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
@@ -1919,6 +1952,21 @@
         "remove-trailing-separator": "^1.0.1"
       }
     },
+    "npm-run-path": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz",
+      "integrity": "sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==",
+      "requires": {
+        "path-key": "^3.0.0"
+      },
+      "dependencies": {
+        "path-key": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.0.tgz",
+          "integrity": "sha512-8cChqz0RP6SHJkMt48FW0A7+qUOn+OsnOsVtzI59tZ8m+5bCSk7hzwET0pulwOM2YMn9J1efb07KB9l9f30SGg=="
+        }
+      }
+    },
     "number-is-nan": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
@@ -2016,6 +2064,11 @@
       "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
       "dev": true
     },
+    "p-finally": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz",
+      "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw=="
+    },
     "p-limit": {
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
@@ -2173,6 +2226,15 @@
       "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz",
       "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ=="
     },
+    "pump": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+      "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+      "requires": {
+        "end-of-stream": "^1.1.0",
+        "once": "^1.3.1"
+      }
+    },
     "punycode": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
@@ -2418,8 +2480,7 @@
     "signal-exit": {
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
-      "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
-      "dev": true
+      "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
     },
     "slice-ansi": {
       "version": "2.1.0",
@@ -2613,6 +2674,11 @@
       "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
       "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
     },
+    "strip-final-newline": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+      "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="
+    },
     "strip-json-comments": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
diff --git a/package.json b/package.json
index ddcb279..bd615b1 100644
--- a/package.json
+++ b/package.json
@@ -41,6 +41,7 @@
   "author": "Apache Software Foundation",
   "dependencies": {
     "cordova-common": "^3.1.0",
+    "execa": "^2.0.1",
     "expect-telnet": "^1.0.0",
     "jasmine": "^3.4.0",
     "jasmine-reporters": "^2.3.2",
