title: why cucumber protractor does not totally ignore the feature file that does not have the tag to run?
body: <p>I am using a cucumber protractor framework to run feature files. </p>
  
  <p>In my config.js, i have:</p>
  
  <pre><code>specs: [
      "../../features/XXX1.feature",
      "../../features/XXX2.feature",
      ... 
      "../../features/XXXn.feature",                            
  ],
  
  cucumberOpts: {
      tags: "@mytag",
  },
  </code></pre>
  
  <p>And in my feature file XXX1.feature, i have this tag '@mytag' set:</p>
  
  <pre><code>  @mytag
    Scenario Outline: my Flow
      Given I am running test case one
      ....
  </code></pre>
  
  <p>but not in any other feature files like XXX2.feature, XXX3.feature etc.</p>
  
  <p>I am expecting protractor to run XXX1.feature only, and not running XXX2.feature. It kind of does, when comes to XXX2.feature, it <strong>starts the browser</strong>, doing nothing, and then output following:</p>
  
  <pre><code>[14:35:53] I/testLogger - [chrome #01-2] PID: 14272
  [chrome #01-2] Specs: D:\ptfbc\ui\features\XXX2.feature
  [chrome #01-2]
  [chrome #01-2] [14:35:44] I/hosted - Using the selenium server at http://127.0.0.1:4444/wd/hub
  [chrome #01-2]
  [chrome #01-2]
  [chrome #01-2] 0 scenarios
  [chrome #01-2] 0 steps
  [chrome #01-2] 0m00.000s
  </code></pre>
  
  <p>but it's still not good enough. Since there's no tag '@mytag' in XXX2.feature. Shouldn't it skip the feature file XXX2.feature and NOT START THE BROWSER at all?</p>
  
  <p>Starting browser for every ineligible feature file that does not have '@mytag' is also time consuming.</p>
  
  <p>Is there a way of configuration that can avoid this?</p>
  
  <h2>Edit</h2>
  
  <p>capabilities and hook.ts</p>
  
  <pre><code>capabilities: {
      browserName: "chrome",
      shardTestFiles: true,
      maxInstances: 1,
      'chromeOptions': {
          'args': [
              'disable-infobars'//,'headless=true','disable-gpu=true',
          ],
          'prefs': {
              'credentials_enable_service': false,
              'download': {
                  'prompt_for_download': false,
                  'directory_upgrade': true,
              }
          }
      }
  },
  
  
  const { BeforeAll, After, Status } = require("cucumber");
  import * as fs from "fs";
  import { browser } from "protractor";
  import { config } from "../config/config";  
  
  BeforeAll({timeout: 300 * 1000}, async () =&gt; {
      await browser.get(config.baseUrl);
  });
  
  After(async function(scenario) {
          // screenShot is a base-64 encoded PNG
           const screenShot = await browser.takeScreenshot();
           this.attach(screenShot, "image/png");
  });
  </code></pre>