DEV Community

Harriet Ayugi
Harriet Ayugi

Posted on • Updated on

Evaluation of Microsoft Playwright framework

It has been over a month since I started my internship with Wikimedia under the outreachy program. Wikimedia is a global movement whose mission is to bring free educational content to the world and strives to bring about a world in which every single human being can freely share in the sum of all knowledge. Wikimedia is the platform that runs Wikipedia and it's sister projects. Wikimedia constitutes a global community of educators, learners, librarians, software developers, to mention but a few. The project that I'm working on is called MediaWiki which is used to collect and organize knowledge and make it available to people. It's implemented in PHP and powers a number of websites. I'm specifically working on the Evaluation of Microsoft Playwright as a replacement for the Wikimedia browser automation project.

Project context
Wikimedia supports a large number of repositories as well as extensions. In order to ensure good code practices across all these repositories, an extensive amount of testing is performed and one of the tests performed is an end to end test. WebdriverIO is the current browser automation framework being used for implementing end to end test. However, with the recent increase in awareness about an end to end testing, a number of equally competitive non-selenium solutions have been introduced and one of them is Microsoft Playwright. So, the goal of the project is to evaluate Microsoft Playwright against WebdriverIO as a potential replacement for the Wikimedia browser automation framework.

Automated browser testing is a suite of tools to author, manage and run tests against browsers across platforms. Some of the common browser automation tools used are Selenium, Cypress, Puppeteer, and Microsoft Playwright. Microsoft Playwright is the newest addition to the list of the framework, it's an open-source, JavaScript-based, cross-browser automation library for end-to-end testing. Playwright provides a single API to automate web applications across three major browser engines; Chromium, Firefox, and, WebKit which makes it different from the other Automated browser frameworks.

There has been a lot of learning new things during this process so far. I have implemented unit test before, however, it is my first time implementing automated browser testing and there has been a lot of learning and implementation of new things such as; the different browser automation frameworks, how to use Github actions as continuous integration(CI) pipeline, learn about Microsoft Playwright and its implementation to mention but a few. This is both a challenging and exciting project for me to work on and hopefully, the evaluation of Microsoft Playwright will turn out to be successful and become the automation tool for Wikimedia.

Top comments (0)