Profile Information
Name: Sahil Grewal
IRC: Sahil Grewal
Email: sahilgrewalhere2001@outlook.com
Github: https://github.com/sahilgrewal8072
Location: Gujarat, India
Typical working hours: 05:00 PM to 02:00 AM (UTC+5:30)
Synopsis
Project Summary
The goal of the project is to create cypress test for Wikipedia-preview, while cypress is an end-to-end testing framework built on mocha. The created test will be E2E and able to test all the critical functionalities of Wikipedia-preview page for both the view modes (Mobile and Desktop).
Why Cypress ?
- Simple to set up for execution
- Offers fast test execution
- Quick Debuggability
- No headaches of installing relevant drivers
Possible Mentor(s)
Have you contacted your mentors already?
Yes! I have contacted them via Zulip and Phabricator comments.
Timeline
Community Bonding Period (May 17, 2021 - June 7, 2021):
| Period | Timeline |
|---|---|
| May 17 - Jun 7 | Exploring the documentation of cypress and some of the cypress plugins , and to note some new features |
Coding Period (June 7, 2021 - August 16, 2021):
| Period | Week No | Timeline |
|---|---|---|
| June 7 -June 13 | Week 1 | Analyzing the Code Base for Wikipedia-Preview to find the fields of critical functionality |
| June 13 -June 25 | Week 2 - Week 3 | Creating E2E testing in cypress by implementing page objects, custom commands which will be including all the critical functionality of Wikipedia-preview for both mobile and desktop view, and also generating mochawesome and manual reports for the same. |
| June 25 -July 1 | Week 4 | Exploring and Implementing some of the interesting plugins for test, To make test definitive and instant at both view mode (Desktop and Mobile). |
| July 1 -July 7 | Week 5 | Observing the behaviour of tests on running at different environments (Local and production) and Browsers (Cross Browser testing ), and thus handling any bug (if encountered) |
| July 7 -July 12 | Week 6 | Integrating cypress test with any one of the ci tools such as Circleci, Jenkins. |
| July 12 -July 16 | Evaluation I | Preparing for the evaluation and getting conclusion from mentors regarding the created tests. |
| July 17 -July 23 | Week 1 | Creating tests on Offline previews, loading interface, error previews of Wikipedia-preview |
| July 24 -July 31 | Week 2 | Adding plugin to add swipes instead of mouse-events for Mobile View, To test as a real mobile features (More details on report), Also verifying tests at different device viewport to check compatibility. |
| August 1 – August 7 | Week 3 | Working on reducing test duration, and handling unforeseen delays (i.e in Image rendering, previewbox pop-ups). Resolving unexpected bugs in tests. |
| August 8 – August 16 | Week 4 | Creating a final report(Manually) and blog-post for the projects for final evaluation |
Final Evaluation(August 24, 2020 - August 31, 2020):
Prepare for the evaluation, fixing the unforeseen bugs, and working on community feedback.
Participation
- I will be working over 25-30 hours a week.
- I will be available on IRC and Zulip during my working hours
- I will also communicate on Phabricator via comments on the related project subtasks.
- In case of urgency or during non-working hours I can be contacted via email
About me
Education and Academics
I am currently in second year (4th Sem) pursuing Bachelor of Technology (B.tech) in Computer Science & Engineering at Parul University. I am also a junior tech volunteer at Bitcode Club at Parul university.
Technical Skills
| Programming Languages: | C, C++, Python, javascript |
|---|---|
| Web Development: | Html, Css, NodeJS, Php, Django, Bootstrap, jQuery |
| Operating Systems: | Windows and Ubuntu |
| DevOps: | Docker, Cypress, Mocha, CircleCI, Selenium, Travis Cl |
| Database: | MySQL |
How did you hear about this program?
I heard about this program in a college session regarding open source development.
Will you have any other time commitments, such as school work, another job, planned vacation, etc, during the duration of the program?
Fortunately End Sem examination will commence from 12th April and ends on 22th April, Hence I don’t have any commitments on this summer, and hence 25-30 hours per week is easily manageable for me to work for this project.
We advise all candidates eligible for Google Summer of Code and Outreachy to apply for both programs. Are you planning to apply to both programs, and if so, with what organization(s)?
I am only applying to google summer of code with Wikimedia organization
What does making this project happen mean to you?
I am quite passionate in learning through e-resources since my childhood, I have been using Wikipedia since childhood and it always helped me in understanding complex things and has proven to be the better choice among others available on the Internet due to its easy availability. What Wikipedia today is just because of its community. Working on this project will not only help in improving my automation testing skills, but it will also be a pride for me to create something that would be usable by large community . It would help me to realize that how collaboration can lead to great things.
Past Experience
- I have worked on several different projects that span a wide range of technologies like Html , CSS, Javascript, PHP, Python, C++, Django, Bootstrap, JQuery, and databases like MySQL.
- I have decent understanding for writing automation tests and also familiar in cypress, selenium.
Microtasks:
- Created sample cypress test for Wikipedia-preview
- Integrated the test with circleci
- Performed Cross browser testing with firefox and chrome browser
- Created initial test analysis report.
PR: https://github.com/sahilgrewal8072/wikipedia-preview/pull/1
Intial Test Summary
Open Source Contribution
- Partner description page" tooltip in the Library Card Platform is not translatable
- Stop showing block warning message if user is whitelisted
- Removed one-time EZProxy announcement email
- When encountering an error, enable Update pagelist button in dialogue
- Selenium: Added wdio-video-reporter for recording test videos
- Typos fixing in mediawiki/services/mathjax
- Typos fixing in mediawiki/services/cxserver
- Upgraded webdriverIO from v6 to v7 in mediawiki/extension/echo
- Typos fixing in mediawiki/extensions/flaggedrevs
- Typos fixing in mediawiki/core
- Typos fixing in mediawiki/extension/cognate
- Replaced deprecated addToBodyAttributes() with onOutputPageBodyAttributes() hook (tracking)
- Typos fixing in mediawiki/extension/extjsbase
- Typos fixing in mediawiki/extension/renameuser
- Typos fixing in mediawiki/extension/thewikipedialibrary
- Replaced <div class="header"> by <header>, <div class="footer"> by <footer> Successfully
- Improved filename regex in cli/recover-dump
- Typos fixing in mediawiki/extension/renameuser
- Typos fixing in Operation/puppet
- Removed chromedriver dependency
