Description
This follows on from #933 (/cc @sunu).
The current Travis-CI integration with Oppia currently includes backend and Karma tests, but it does not include Protractor integration tests. Ideally, it should include them (and test both Firefox and Chrome).
@sunu has done some preliminary investigation with Saucelabs: the integrations worked fine and the tests did run. However, for some reason, the GAE server couldn't be launched at port 4445 which is the default port for the base URL of the app to be tested, and @sunu couldn't find a way to change that for Saucelabs either.
@sunu suspects the problem is that we are supposed to start the app server before Travis-ci's Saucelabs integration kicks in (which is after the install step). This will probably require some refactoring of the test scripts.
Also, Saucelabs limits its free opensource offering to 5 "channels" per repo at a time. These channels should be auto-closed after each test run, but sometimes they fail to do so and this results in test failures because Travis failed to connect to Saucelabs because of no available channels. @sunu had to manually close the unused channels to get the tests to work.
(Also, it looks like Saucelabs-Travis integration doesn't support pull requests, so we can't run integration tests for pull requests.)
The aim of this issue is, therefore, to refactor the test scripts and make the integration tests work well with Travis-CI.
EDIT: current milestones are:
- Get e2e tests to run locally on Firefox
- Get e2e tests to run on Travis using Firefox
- Get e2e tests to also run on Travis using Chrome and SauceLabs