This repo contains the testautothon step-in 2018 summit challenge solution.
My team from Coviam Tech has won this hackathon.
Team Members:
The problem is as stated below:
###Test Flow:
- Google Search for 20 movies listed in Reference by movie name.
- From the search results, extract the wikipedia page link for the movie.
- Go to the wikipedia page for a given movie.
- Extract the name of the director(s) from the page content.
- Extract Imdb link for the movie from the wikipedia page.
- Go to IMDB URL for the movie.
- Extract the director(s) name from Imdb Page.
- Assert that director information is same on Wikipedia and Imdb for a movie.
###Rules:
- The 20 movie names should be read from a file along with the movie number.
- Google search step (1 & 2) for all 20 movies should be a one-time activity before the test begins.It should populate an in -memory data structure (no persistent writing to file/DB).This data structure should be used to drive the test method/script.
- There should be a single test implementation (one script or one method or one feature file) which takes movie names and corresponding Wikipedia URLs as data.Each movie input should be treated as a unique test.
- Use 20 seperate thread/processes for the above flow for each movie, including the invalid movie name.
- The test should be implemented in a way that it can either run at the GUI layer or the HTTP layer.The test code should remain same in both the cases and via a configurable option (mode = GUI or HTTP), one should be able to make this choice in case of GUI layer test atleast one thread should run on a mobile device (physical or emulator).
- Any considerations given about how to do this at scale (e.g. what if you had 1000 threads each with unique movie name) would fetch additional scores.
- Implement a custom HTML report which should contain a table representing these columns: Movie ID, Movie Name, Wikipedia URL, Snapshot of Wikipedia Page, Wikipedia Director(s), Imdb URL , Snapshot of Imdb page, Imdb Director(s), Name differences in addition to any other details you want to showcase. In case of HTTP mode, the snapshot columns should not be present. Without this report the submission would be disqualified.
###Reference:
- Non-Existing
- The Shawshank Redemption
- The Godfather
- The Dark Knight
- Pulp Fiction
- Schindler's List
- The Lord of the Rings: The Return of the King
- The Good, The Bad, The Ugly
- 12 Angry men
- Incpetion
- Forrrest Gump
- Fight Club
- Star Wars: Episode V - The Empire Strikes Back
- Goodfellas
- The Matrix
- One Flew Over the Cuckoo's Nest
- Seven Samurai
- Avengers: Infinity War
- Interstellar
- Se7en