title: How do I setup concurrent services on CircleCI for Testing?
body: <p>I have an application that runs its tests with Jasmine and WebdriverIO which I would like to automate in CircleCI. I'm new to testing in general so I'm not sure what to do.</p>
  
  <p>Here's what I know:</p>
  
  <ul>
  <li>To run the tests, I invoke <code>npm test</code></li>
  <li>A selenium server is required on port 4444 (which I can start with <code>npm start</code>)</li>
  <li>The application should be running on port 80 (which I can serve with another <code>npm</code> command)</li>
  <li>When the tests complete, I'm returned to command line, but the other services (on p4444 and p80) are still running</li>
  </ul>
  
  <p>Here's what I don't fully understand:</p>
  
  <ul>
  <li>Locally, these require 3 terminals to run concurrently, is there a way to do this with CircleCI?</li>
  <li>If so, how do I tell when the p4444 and p80 are ready to test on, or cancel them when the tests are done?</li>
  <li>Is my issue with Docker, or CircleCI?</li>
  </ul>