Challenge Overview
Project Overview
This challenge should develop automatic test suties for topcoder.com by selenium.
Competition Task Overview
This challenge should use Selenium to develop automatic test cases for following scenarios:
Subscribe to challenges (RSS feed)
1. Go to 'tcqa1.topcoder.com'.
2. Go to Challenges -> Design Option.
3. Verify that ‘Subscribe to challenges’ image icon is visible next to the tag ‘Graphic Design Challenges’.
4. Click on ‘Subscribe to challenges’ image icon next to the tag ‘Graphic Design Challenges’.
5. Verify that the user is navigated to a RSS feed page.![]()
6. Verify the same for design and development challenges also.
Signing Standard Terms and NDA flow
1. Hit url : tcqa1.topcoder.com and login to topcoder
2. Go to Challenges -> Design
3. Open a challenge with NDA terms.
4. Verify that the ‘Register’ button is enabled.
5. Click register. Verify that a page is displayed cointaining a list of various groups of terms, with the status as ‘Required’ for all the terms and a red exclamation mark appears before the status.
6. Click 'view and agree' link for the Standard Terms for TopCoder Competitions(if available)
7. On the terms page check the I agree field and click ‘Submit’ and verify that the user is directed back to page where terms are listed and ‘Required’ status is turned to ‘Completed’ for the standard terms and a green check mark appears before the status.
8. Click 'view and agree' link for NDA terms. Verify that the user is navigated to the page containing the NDA terms’ document.
9. Verify that a popup comes up for ‘Request for signature’. Check the checkbox for ‘I consent to use Electronic Records and Signatures’ and verify that ‘Review Document’ button becomes enable. Click this button.
10. Now click the ‘Start’ button on that document. Verify that a link saying ‘Sign here’ becomes visible. Click this link. Verify that a popup comes up saying ‘Adopt Your Signature’. Click the button ‘Adopt and Sign’. Verify that the signature appears on the document.
11. Now enter your address, province and country in the textboxes below the signature, and verify that the ‘Next’ button changes to ‘Confirm Signing’ when all the fields get filled. Click this button and verify that a page is displayed with the message ‘It may take up to a minute for your agreement to be authorized. If you choose to go back to the terms acceptance page before the authorization is complete, the status may remain unchanged until the process is finished.’ Wait till the loading completes.
12. Now verify that the user is directed back to page where terms are listed and ‘Required’ status is turned to ‘Completed’ for the NDA terms also and a green check mark appears before the status.
13. Click ‘Register’ button. Verify that a popup comes up with the message ‘Thank you for registering. You may now download the challenge files and participate in the challenge forums’. Click ‘Ok’
14. On the challenge page, go to the ‘Registrants & Submissions’ link and verify that the user’s name and date & time of registration appears in the list of registrants.
15. Perform all these steps and verifications for a development challenge also which has NDA terms.
Verification
Please use qa.topcoder.com/v2/ to verify the requirements.
You can find the api specification here: docs.tcapi.apiary.io
Spreadsheet driven test suite
This test suite should be spreadsheet driven test suite. The java code should red the test steps from the spreadsheet and execute it via Selenium Web Driver.
Please refer to the attached spreadsheet 'Sample_SpreadSheet.xlsx' . Here, the column Action contains the names of the methods/functions that need to be called to perform a particular action. Column 'Objects/Fields' contains the object on which the action need to be performed. The identifiers to locate these objects are specified in the sheet'Local Object Repository'. Column 'Associated Data Column' contains some data value that the method may require.
Technical Requirements
The common methods should be put in Helper class so it can be reused by other test suites. e.g. access topcoder api, login (many test suites need user to login first), retrieve data from list, etc.
Don't use JUnit, TestNG or any other framework. Use a main method to run the test cases.
Technology Overview
- Java
- Selenium
Final Submission Guidelines
- Source Code
- Test Result
- Steps to run the test suites