Register
Submit a solution
The challenge is finished.

Challenge Overview

For the Hercules client, we build a lot of web apps that run on an embedded environment.  The web browser used on the embedded system is older and has compatibility issues with modern desktop browsers.  This means we spend a lot of time working through compatibility issues.

In an effort to catch these issues earlier, we have generated a build of the embedded browser that includes Selenium support.  To fully support automated testing and continuous integration, we need to somehow integrate this build into automated tests on the Gitlab CI platform.

Gitlab CI

https://docs.gitlab.com/ce/ci/

Your documentation and tested setup needs to cover configuring Gitlab CI to do these steps on every check-in for a simple Node test project that you define:

* Get the code
* Install the dependencies
* Run the tests and lint
* Deploy to Heroku if tests pass

Sample application for testing purposes:

Your sample Node web application can be simple, and only a few simple UI-based tests are required for validation:

* Ensure a page loads and displays
* Ensure the arrow keys on the keyboard work
* Ensure the "Enter" key on the keyboard works
* Ensure the "Esc" key on the keyboard works

Our normal apps that run in the embedded environment don't use mouse navigation - they are navigated by a remote controls, so the arrows are used to select content, "Enter" goes into the content, and "Esc" goes back.  There are other keys as well, but for the purposes of this proof of concept, that's all we need.

Gitlab CI runner

We can use custom runners for the project.  You are encouraged to build the Selenium QTBrowser for Linux and just copy it in, instead of building it as part of the runner.  I don't want to have to do extra work like that every time the tests run, if we can avoid it.

Documentation

Your deployment instructions must contain information on how to do the steps necessary to configure the browser and tests in Gitlab, including information on how to run the tests, see the output, etc...

Video
 
No video is required for this challenge


Final Submission Guidelines

Please see above

ELIGIBLE EVENTS:

2017 TopCoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30056088