Node JS - How to run cross browser testing in the same session one after one?

I want to do cross browser testing but not together and not in a different

session, because I want all off the test result will generated to the same HTML report in the end of the session.

When I’ve tried to run all of them together part of the test cases are failed because time outs and the report was messy.

Protractor - Conf:

multiCapabilities: [{
  'browserName': 'firefox',
      'cli': {
      'args': ['webdriver.firefox.useExisting=default']
      // 'args': ['webdriver.firefox.useExisting=default', '-jsconsole', '-jsdebugger']

  'browserName': 'chrome',
  'chromeOptions': {
    args: ['--test-type','--memory-metrics','--console','--crash-on-failure'] 
    // '--load-extension=' + 'C:\\Users\\idan\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Extensions\\idgpnmonknjnojddfkpgkljpfnnfcklj\\1.2.4_0'

      'browserName': 'internet explorer',
      'platform': 'ANY',
      'version': '11'

  // maxSessions: 1,

You can use browser.browserName for report names in order to have all reported, I use this function inside onPrepare():

browser.getCapabilities().then(function (cap) {
        browser.browserName = cap.caps_.browserName;
        jasmine.getEnv().addReporter(new HtmlReporter({
            baseDirectory: 'target/'+browser.browserName+'/angular-test-result/',
            takeScreenShotsOnlyForFailedSpecs: true,
            preserveDirectory: false

Then if you don’t want to run browsers in parallel you can call protractor with -browser=chrome