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:
Verify user is able to change the view from list to grid and vice versa for open challenges
1. Go to 'tcqa1.topcoder.com'
2. Go to Challenges -> Development Option
3. Verify that that there are 2 links or buttons for gridview and listview, on the top right corner of the challenges list to change the views.
4. Verify that the open challenges appear in a List View by default and the button for changing the view to list appears to be disabled.
5. Change the view to Grid view and verify that the list now appears in a gridview and the button for changing the view to grid is disabled now.
6. Change again it to list view and verify that the list now appears in a listview and the button for changing the view to list is disabled now.
7. Perform all the above steps for design and data challenges also.
Verify user is able to sort challenges on the basis of name, type, timeline, time left, prizes, current phase, registrants and submissions
Test # 1
1) Go to http://www.tcqa1.topcoder.com/challenges/
2) Click on 'View All'
3) Sort by all columns - Challenge name, timeline, Time Left, Prize, Current Phase, Registrants, Submissions
4) Verify that the sorting of challenges is in correct order.
Test # 2
1) Go to http://www.tcqa1.topcoder.com/challenges/
2) Sort by any column - Challenge name, timeline, Time Left, Prize, Current Phase, Registrants, Submissions
3) Click on 'View All'
4) Verify that the sorting of challenges is in correct order and is not affected.
Verify above for:
- Graphic Design Open challenges
- Graphic Design Past challenges
- Graphic Design Upcoming challenges (If they are available on QA)
- Software Development Open challenges
- Software Development Past challenges
- Software Development Upcoming (If they are available on QA)
- Data Science Open challenges (If they are available on QA)
- Data Science Past challenges
- Data Science Upcoming challenges (If they are available on QA)
Challenge listing information comparison with challenge details information
1. Go to 'tcqa1.topcoder.com'
2. Go to Challenges -> Design Option
3. For a challenge look at all the column values on the listing page
4. Open the active challenge and match the details given with the details on the listing page, like name, timeline, time left, prize (1st+2nd), current phase, registrants and submissions.
5. Click on various sub tabs like Registrants, Submissions, Results and Checkpoints(for design challenges) and verify all are displaying correct results.(expected 5)
6. Verify each and every link on the detail page is working (expected 1)
7. Verify the options available on the sidebar present right to the details page.
8. Verify every link in sidebar is working as expected (expected 3)
9. Try sharing the challenge via Facebook, google+, etc (expected 4)
10. Perform the same check for development and data type of challenges.
Expected Results
1. Links should be working
2. Downloads, Contest links, Review Style, Get the UML tool
3. Links should be working, like Downloads(if available), Eligibility Events(if available), Review Scorecard.
4. User should be able to share a challenge from the Share option on the right sidebar and choose options like Facebook/twitter/gmail/Yahoo. Shared details should be relevant. In case of options like Gmail/Yahoo, challenge url should be present in email body
5. For registration tab(in case of development challenges it is Registration &Submissions tab), the list of the registrants should be displayed along with the date and time of registration and submission(if any) for each user. Also the user count should be same in brackets and in the list. For submissions tab, the list of submissions should be displayed along with the date and time of submission for each user and verify the count. The Results tab should display the challenge winners' (1st, 2nd,etc.) details. In case of past challenges for design, check 'Checkpoints' tab.
Please see the sample test suite format in the attached spreadsheet.
The developer should run the tests and fill the test result column in the provided spreadsheet and describe the fail reason.
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