We need you to create an integration test suite for https://jobs.economist.com/ using the following technologies:
- NodeJS/JavaScript
- Cucumber
- Selenium-Webdriver
- Chromedriver
- Fork this project.
- Document assumptions (if necessary).
- Implement test suite from the user stories mentioned below.
- Further document and comment as much as you feel necessary. Ensure your code is clean and readable.
- Pull request your fork back into this repository and send the link to us
We have a jobs site (https://jobs.economist.com) for advertising various career opportunities at The Economist. We'd like you to write an automated test suite to ensure that some features have been developed properly.
The following are a list of criteria we would like tested. It is your job to break these down further into cucumber scenarios and steps:
- Jobs page renders correctly with the following components visible:
- navigation bar
- search fields
- sector lists
- jobs blog
- featured jobs
- footer
- Both 'Sign in' and 'Create account' links go to their respective pages.
- Each of the links in the navigation bar is functional and goes to the correct page.
- Clicking on a sector shows a list of jobs from only that sector. Clicking further on a job listing shows you the job details, with an 'apply' button.
- Searching for a job correctly displays relevant search results.
- Ensuring all the links in the footer are functional
Your test suite will be assessed on the following criteria with scoring in order of importance:
- Approach and style
- Code organisation, commenting and documentation
- Use of git
The following qualifies for extra bonus points in your application:
- Sharing your GitHub repo with us early and working on this task iteratively
- Add JS code linting
- Adding reporting
- Test one of the following additional features:
- Creating an account
- Signing in
To get the tests running, ensure that you have NodeJS
, npm
, Google Chrome
and Java
installed. Then run the following commands to start the tests:
npm install
npm run test
The basic setup has been done for you, with the web browser restarting at the beginning of each test scenario.
You have 24 hours to complete as much of this task as possible, good luck!