Page MenuHomePhabricator

GSoC 2021 Proposal: Create cypress tests for Wikipedia-Preview
Closed, DeclinedPublic

Description

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

cypress image.jpeg (908×2 px, 122 KB)

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):

PeriodTimeline
May 17 - Jun 7Exploring the documentation of cypress and some of the cypress plugins , and to note some new features

Coding Period (June 7, 2021 - August 16, 2021):

PeriodWeek NoTimeline
June 7 -June 13Week 1Analyzing the Code Base for Wikipedia-Preview to find the fields of critical functionality
June 13 -June 25Week 2 - Week 3Creating 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 1Week 4Exploring 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 7Week 5Observing 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 12Week 6Integrating cypress test with any one of the ci tools such as Circleci, Jenkins.
July 12 -July 16Evaluation IPreparing for the evaluation and getting conclusion from mentors regarding the created tests.
July 17 -July 23Week 1Creating tests on Offline previews, loading interface, error previews of Wikipedia-preview
July 24 -July 31Week 2Adding 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 7Week 3Working on reducing test duration, and handling unforeseen delays (i.e in Image rendering, previewbox pop-ups). Resolving unexpected bugs in tests.
August 8 – August 16Week 4Creating 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

Event Timeline

GSoC application deadline has passed. If you have submitted a proposal on the GSoC program website, please visit https://phabricator.wikimedia.org/project/view/5104/ and then drag your own proposal from the "Backlog" to the "Proposals Submitted" column on the Phabricator workboard. You can continue making changes to this ticket on Phabricator and have discussions with mentors and community members about the project. But, remember that the decision will not be based on the work you did after but during and before the application period. Note: If you have not contacted your mentor(s) before the deadline and have not contributed a code patch before the application deadline, you are unfortunately not eligible. Thank you!

Gopavasanth subscribed.

@Sahilgrewalhere We are sorry to say that we could not allocate a slot for you this time. Please do not consider the rejection to be an assessment of your proposal. We received over 100 quality applications, and we could only accept 10 students. We were not able to give all applicants a slot that would have deserved one, and these were some very tough decisions to make. Please know that you are still a valued member of our community and we by no means want to exclude you. Many students who we did not accept in 2020 have become Wikimedia maintainers, contractors and even GSoC students and mentors this year!

Your ideas and contributions to our projects are still welcome! As a next step, you could consider finishing up any pending pull requests or inform us that someone has to take them over. Here is the recommended place for you to get started as a newcomer: https://www.mediawiki.org/wiki/New_Developers.

If you would still be eligible for GSoC next year, we look forward to your participation!