Challenge Overview
Get started is very easy! Follow these steps :
- Setup environment following this github article (you need permission to view it)
- Checkout csfv_test_data_generator
- run 'npm install'
- run 'node app.js' wait until it says that data generation completed then kill the app
- Checkout csfv_frontend_module
- copy .env_sample to .env
- configure your hosts file to point csfv.com at 127.0.0.1
- run 'npm install' - use latest stable nodejs version
- Make sure memcached, and mongo db are running.
- run 'node app.js' or 'forever app.js'
- You are ready go code!
Project Overview
This project, the CSFV Community Gaming website project will provide the web site infrastructure and integration of the games. This will be a web site that is available on the Internet, and also will be delivered in a form where the server and the games can be installed and used behind a firewall.
The goal of this contest is to build Selenium testing scripts in NodeJS. This challenge will implement a suite of Selenium test cases for the CSFV Forums.
Tips for success:
- Asking questions early and getting feedback is very important for the success of this competition.
- Raise questions if you feel anything is confusing, or if you have any questions on the provided documentation (Copilot and PM will be available to answer questions).
Test cases
The forum contains the forums test scenarios. We are going to implement functional tests of the following functional requirements :
7 - Add new category (admin feature)
8 - Update existing category (admin feature)
9 - Pin a thread (admin feature)
10 - Lock a thread (admin feature)
And a new requirement is to "move a thread" - this feature allows admin to move a thread from one category to another category. It is not documented, you need to document this in the test scenario and implement the test cases. Ask questions if you need more clarifications.
Required Browsers
- IE 8+
- FF Latest (Mac and PC)
- Safari Latest (Mac and PC)
- Chrome Latest (Mac and PC)
Selenium
We use the Selenium framework for the tests:
https://code.google.com/p/selenium/
http://docs.seleniumhq.org/projects/webdriver/
Naming convention
Please name each test like this:
TestXX_ShortDescription. For instance, for test 1, we would name it:
Test001_VerifyLoginSelectorPage
Conflicts
If there are any test scenarios that conflict with the deployed web application, we will follow the existing code, not the scenario.
Code modifications
If you would like any modifications to the existing web code that would make things easier, please ask about it in the forum.
Language
Please use NodeJS to develop the tests and integration with the Selenium WebDriver.
Documentation
Step by step deployment documentation is critical for this application. Your deployment documentation must be thorough and include clear setup information to aid the copilot and reviewers.
Github Code
The code is hosted in priviate github repositories :
- csfv_frontend_module - main website web application.
- csfv_test_data_generator - test data generator that generate all required content for the website
If you cannot view these repositories, then post in challenge forums with your github account username to be added to Github repo.
Existing Documents
Provided in challenge forums :
- CSFV Test Suites you will use as basis for your work.
- Test scenarios
Final Submission Guidelines
Submission Deliverables
The competitors in this competition are expected to provide the following deliverables:
- Implemented test scripts using Selenium and their configuration (with build scripts).
- Deployment Guide.
- Updated test scenarios if there were changes confirmed in forums.
- Any other files needed.
Final Submission
- Your final submission must contain a single .zip file with all the submission deliverables.
- For each member, the final submission should be uploaded via Online Review page.
- You must not include any identifying information, such as your handle, in your submission. Your submission should be anonymous and you will be scored down in screening for not complying.